kernel-ark/arch/x86/mm/kmemcheck
Frederic Weisbecker ebc8827f75 x86: Barf when vmalloc and kmemcheck faults happen in NMI
In x86, faults exit by executing the iret instruction, which then
reenables NMIs if we faulted in NMI context. Then if a fault
happens in NMI, another NMI can nest after the fault exits.

But we don't yet support nested NMIs because we have only one NMI
stack. To prevent from that, check that vmalloc and kmemcheck
faults don't happen in this context. Most of the other kernel faults
in NMIs can be more easily spotted by finding explicit
copy_from,to_user() calls on review.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
2010-10-14 20:43:36 +02:00
..
error.c x86, kmemcheck: Use KERN_WARNING for error reporting 2009-12-28 10:28:35 +01:00
error.h kmemcheck: add the kmemcheck core 2009-06-13 15:37:30 +02:00
kmemcheck.c x86: Barf when vmalloc and kmemcheck faults happen in NMI 2010-10-14 20:43:36 +02:00
Makefile kmemcheck: add opcode self-testing at boot 2009-06-15 15:49:22 +02:00
opcode.c kmemcheck: move 64-bit ifdef out of kmemcheck_opcode_decode() 2009-06-15 12:39:59 +02:00
opcode.h kmemcheck: add the kmemcheck core 2009-06-13 15:37:30 +02:00
pte.c kmemcheck: add the kmemcheck core 2009-06-13 15:37:30 +02:00
pte.h kmemcheck: add the kmemcheck core 2009-06-13 15:37:30 +02:00
selftest.c kmemcheck: add opcode self-testing at boot 2009-06-15 15:49:22 +02:00
selftest.h kmemcheck: add opcode self-testing at boot 2009-06-15 15:49:22 +02:00
shadow.c kmemcheck: Test the full object in kmemcheck_is_obj_initialized() 2010-02-17 21:39:08 +02:00
shadow.h kmemcheck: Test the full object in kmemcheck_is_obj_initialized() 2010-02-17 21:39:08 +02:00