From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751151AbdCQKm7 (ORCPT ); Fri, 17 Mar 2017 06:42:59 -0400 Received: from terminus.zytor.com ([65.50.211.136]:37358 "EHLO mail.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751102AbdCQKm5 (ORCPT ); Fri, 17 Mar 2017 06:42:57 -0400 Date: Fri, 17 Mar 2017 03:16:45 -0700 From: tip-bot for Andy Lutomirski Message-ID: Cc: luto@kernel.org, mingo@kernel.org, acme@redhat.com, vincent.weaver@maine.edu, eranian@google.com, hpa@zytor.com, peterz@infradead.org, alexander.shishkin@linux.intel.com, torvalds@linux-foundation.org, tglx@linutronix.de, bpetkov@suse.de, linux-kernel@vger.kernel.org, jolsa@redhat.com Reply-To: jolsa@redhat.com, bpetkov@suse.de, linux-kernel@vger.kernel.org, tglx@linutronix.de, torvalds@linux-foundation.org, peterz@infradead.org, hpa@zytor.com, alexander.shishkin@linux.intel.com, vincent.weaver@maine.edu, eranian@google.com, luto@kernel.org, mingo@kernel.org, acme@redhat.com In-Reply-To: <0c5b38a76ea50e405f9abe07a13dfaef87c173a1.1489694270.git.luto@kernel.org> References: <0c5b38a76ea50e405f9abe07a13dfaef87c173a1.1489694270.git.luto@kernel.org> To: linux-tip-commits@vger.kernel.org Subject: [tip:perf/urgent] x86/perf: Fix CR4.PCE propagation to use active_mm instead of mm Git-Commit-ID: 5dc855d44c2ad960a86f593c60461f1ae1566b6d X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: 5dc855d44c2ad960a86f593c60461f1ae1566b6d Gitweb: http://git.kernel.org/tip/5dc855d44c2ad960a86f593c60461f1ae1566b6d Author: Andy Lutomirski AuthorDate: Thu, 16 Mar 2017 12:59:39 -0700 Committer: Ingo Molnar CommitDate: Fri, 17 Mar 2017 08:28:26 +0100 x86/perf: Fix CR4.PCE propagation to use active_mm instead of mm If one thread mmaps a perf event while another thread in the same mm is in some context where active_mm != mm (which can happen in the scheduler, for example), refresh_pce() would write the wrong value to CR4.PCE. This broke some PAPI tests. Reported-and-tested-by: Vince Weaver Signed-off-by: Andy Lutomirski Cc: Alexander Shishkin Cc: Arnaldo Carvalho de Melo Cc: Borislav Petkov Cc: H. Peter Anvin Cc: Jiri Olsa Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Stephane Eranian Cc: Thomas Gleixner Cc: stable@vger.kernel.org Fixes: 7911d3f7af14 ("perf/x86: Only allow rdpmc if a perf_event is mapped") Link: http://lkml.kernel.org/r/0c5b38a76ea50e405f9abe07a13dfaef87c173a1.1489694270.git.luto@kernel.org Signed-off-by: Ingo Molnar --- arch/x86/events/core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c index 1635c0c..e07b36c 100644 --- a/arch/x86/events/core.c +++ b/arch/x86/events/core.c @@ -2100,8 +2100,8 @@ static int x86_pmu_event_init(struct perf_event *event) static void refresh_pce(void *ignored) { - if (current->mm) - load_mm_cr4(current->mm); + if (current->active_mm) + load_mm_cr4(current->active_mm); } static void x86_pmu_event_mapped(struct perf_event *event)