diff options
author | Michael Ellerman <mpe@ellerman.id.au> | 2015-05-04 16:26:39 +1000 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2015-05-08 12:26:01 +0200 |
commit | cb307113746b4d184155d2c412e8069aeaa60d42 (patch) | |
tree | 6715ef513c6aab176381a36b853f6cfc397ad889 /init | |
parent | ff303e66c240ba6269e31817a386995440a18c99 (diff) | |
download | linux-stable-cb307113746b4d184155d2c412e8069aeaa60d42.tar.gz linux-stable-cb307113746b4d184155d2c412e8069aeaa60d42.tar.bz2 linux-stable-cb307113746b4d184155d2c412e8069aeaa60d42.zip |
perf_event: Don't allow vmalloc() backed perf on powerpc
On powerpc the perf event interrupt is not masked when interrupts are
disabled, allowing it to function as an NMI.
This causes problems if perf is using vmalloc. If we take a page fault
on the vmalloc region the fault handler will fail the page fault because
it detects we are coming in from an NMI (see do_hash_page()).
We don't actually need or want vmalloc backed perf so just disable it on
powerpc.
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: <linuxppc-dev@ozlabs.org>
Cc: Andrew Morton <akpm@osdl.org>
Cc: Anton Blanchard <anton@samba.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: acme@ghostprotocols.net
Cc: sukadev@linux.vnet.ibm.com
Link: http://lkml.kernel.org/r/1430720799-18426-1-git-send-email-mpe@ellerman.id.au
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'init')
-rw-r--r-- | init/Kconfig | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/init/Kconfig b/init/Kconfig index dc24dec60232..81050e4d9941 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -1637,7 +1637,7 @@ config PERF_EVENTS config DEBUG_PERF_USE_VMALLOC default n bool "Debug: use vmalloc to back perf mmap() buffers" - depends on PERF_EVENTS && DEBUG_KERNEL + depends on PERF_EVENTS && DEBUG_KERNEL && !PPC select PERF_USE_VMALLOC help Use vmalloc memory to back perf mmap() buffers. |