linux-kernel-test/arch
Steven Rostedt 90c7ac49aa ftrace: immediately stop code modification if failure is detected
Impact: fix to prevent NMI lockup

If the page fault handler produces a WARN_ON in the modifying of
text, and the system is setup to have a high frequency of NMIs,
we can lock up the system on a failure to modify code.

The modifying of code with NMIs allows all NMIs to modify the code
if it is about to run. This prevents a modifier on one CPU from
modifying code running in NMI context on another CPU. The modifying
is done through stop_machine, so only NMIs must be considered.

But if the write causes the page fault handler to produce a warning,
the print can slow it down enough that as soon as it is done
it will take another NMI before going back to the process context.
The new NMI will perform the write again causing another print and
this will hang the box.

This patch turns off the writing as soon as a failure is detected
and does not wait for it to be turned off by the process context.
This will keep NMIs from getting stuck in this back and forth
of print outs.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
2009-02-20 14:30:18 -05:00
..
alpha cpumask: Use cpu_*_mask accessors code: alpha 2009-02-16 17:32:00 +10:30
arm [ARM] 5405/1: ep93xx: remove unused gesbc9312.h header 2009-02-19 16:13:02 +00:00
avr32 [ARM] 5400/1: Add support for inverted rdy_busy pin for Atmel nand device controller 2009-02-16 21:40:39 +00:00
blackfin Blackfin arch: Remove outdated code 2009-02-04 16:49:45 +08:00
cris
frv FRV: in_interrupt() requires #inclusion of linux/hardirq.h not asm/hardirq.h now 2009-02-09 08:51:35 -08:00
h8300
ia64 mm: fix memmap init for handling memory hole 2009-02-18 15:37:55 -08:00
m32r eeprom: More consistent symbol names 2009-01-26 21:19:57 +01:00
m68k m68knommu: remove the no longer used PCI support option 2009-01-27 16:42:02 +10:00
m68knommu m68knommu: fix 5329 ColdFire periphal addressing 2009-01-27 16:42:03 +10:00
mips x86: spinlocks: define dummy __raw_spin_is_contended 2009-02-09 08:15:39 -08:00
mn10300
parisc Documentation: move DMA-mapping.txt to Doc/PCI/ 2009-01-29 18:19:29 -08:00
powerpc Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2009-02-17 14:23:49 -08:00
s390 [S390] fix "mem=" handling in case of standby memory 2009-02-19 15:19:19 +01:00
sh sh: Fix up T-bit error handling in SH-4A mutex fastpath. 2009-01-29 11:56:03 +09:00
sparc sparc64: Fix probe_kernel_{read,write}(). 2009-02-08 22:32:31 -08:00
um
x86 ftrace: immediately stop code modification if failure is detected 2009-02-20 14:30:18 -05:00
xtensa
.gitignore
Kconfig