Commit cb307113 authored by Michael Ellerman's avatar Michael Ellerman Committed by Ingo Molnar

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: default avatarMichael Ellerman <mpe@ellerman.id.au>
Signed-off-by: default avatarPeter 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.auSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent ff303e66
...@@ -1637,7 +1637,7 @@ config PERF_EVENTS ...@@ -1637,7 +1637,7 @@ config PERF_EVENTS
config DEBUG_PERF_USE_VMALLOC config DEBUG_PERF_USE_VMALLOC
default n default n
bool "Debug: use vmalloc to back perf mmap() buffers" 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 select PERF_USE_VMALLOC
help help
Use vmalloc memory to back perf mmap() buffers. Use vmalloc memory to back perf mmap() buffers.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment