diff options
| author | Peter Zijlstra <[email protected]> | 2017-08-02 17:39:30 +0000 |
|---|---|---|
| committer | Ingo Molnar <[email protected]> | 2017-08-10 10:01:08 +0000 |
| commit | bfe334924ccd9f4a53f30240c03cf2f43f5b2df1 (patch) | |
| tree | 394e91ef850a8f2ca7091df66f679d8ac08195c6 /tools/perf/scripts/python/syscall-counts.py | |
| parent | Merge tag 'pinctrl-v4.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/... (diff) | |
| download | kernel-bfe334924ccd9f4a53f30240c03cf2f43f5b2df1.tar.gz kernel-bfe334924ccd9f4a53f30240c03cf2f43f5b2df1.zip | |
perf/x86: Fix RDPMC vs. mm_struct tracking
Vince reported the following rdpmc() testcase failure:
> Failing test case:
>
> fd=perf_event_open();
> addr=mmap(fd);
> exec() // without closing or unmapping the event
> fd=perf_event_open();
> addr=mmap(fd);
> rdpmc() // GPFs due to rdpmc being disabled
The problem is of course that exec() plays tricks with what is
current->mm, only destroying the old mappings after having
installed the new mm.
Fix this confusion by passing along vma->vm_mm instead of relying on
current->mm.
Reported-by: Vince Weaver <[email protected]>
Tested-by: Vince Weaver <[email protected]>
Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
Reviewed-by: Andy Lutomirski <[email protected]>
Cc: Arnaldo Carvalho de Melo <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Stephane Eranian <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: [email protected]
Fixes: 1e0fb9ec679c ("perf: Add pmu callbacks to track event mapping and unmapping")
Link: http://lkml.kernel.org/r/[email protected]
[ Minor cleanups. ]
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/syscall-counts.py')
0 files changed, 0 insertions, 0 deletions
