From: Michael Ellerman Date: Mon, 4 May 2015 06:26:39 +0000 (+1000) Subject: perf_event: Don't allow vmalloc() backed perf on powerpc X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=cb307113746b4d184155d2c412e8069aeaa60d42;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git 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 Signed-off-by: Peter Zijlstra (Intel) Cc: Cc: Andrew Morton Cc: Anton Blanchard Cc: Borislav Petkov Cc: H. Peter Anvin Cc: Paul Mackerras Cc: Thomas Gleixner 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 --- 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.