The patch titled handle recursive calls to bust_spinlocks() has been added to the -mm tree. Its filename is handle-recursive-calls-to-bust_spinlocks.patch *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: handle recursive calls to bust_spinlocks() From: "Jan Beulich" <jbeulich@xxxxxxxxxx> Various architectures may call bust_spinlocks() recursively; the function itself, however, doesn't appear to be meant to be called in this manner. Nevertheless, this doesn't appear to be a problem as long as bust_spinlocks(0) doesn't get called twice in a row (otherwise, unblank_screen() may enter the scheduler). However, at least on i386 die() has been capable of returning (and on other architectures this should really be that way, too) when notify_die() returns NOTIFY_STOP. Short of getting a reply to a respective query, this patch makes bust_spinlocks() increment/decrement oops_in_progress, and wake klogd only when the count drops back to zero. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- lib/bust_spinlocks.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff -puN lib/bust_spinlocks.c~handle-recursive-calls-to-bust_spinlocks lib/bust_spinlocks.c --- a/lib/bust_spinlocks.c~handle-recursive-calls-to-bust_spinlocks +++ a/lib/bust_spinlocks.c @@ -17,13 +17,13 @@ void __attribute__((weak)) bust_spinlocks(int yes) { if (yes) { - oops_in_progress = 1; + ++oops_in_progress; } else { #ifdef CONFIG_VT unblank_screen(); #endif - oops_in_progress = 0; - wake_up_klogd(); + if (--oops_in_progress == 0) + wake_up_klogd(); } } _ Patches currently in -mm which might be from jbeulich@xxxxxxxxxx are revert-x86_64-mm-intel_cacheinfo-adjustments.patch fix-x86_64-mm-unwinder.patch floppy-tolerate-dma-channel-unavailability.patch cleanup-floppyh.patch handle-recursive-calls-to-bust_spinlocks.patch cpu-hotplug-thermal_throttle-fix-cpu-hotplug-error-handling.patch cpu-hotplug-msr-fix-cpu-hotplug-error-handling.patch cpu-hotplug-cpuid-fix-cpu-hotplug-error-handling.patch cpu-hotplug-mce-fix-cpu-hotplug-error-handling.patch cpu-hotplug-intel_cacheinfo-fix-cpu-hotplug-error-handling.patch cpu-hotplug-intel_cacheinfo-fix-cpu-hotplug-error-handling-fix-a-section-mismatch-warning.patch pnp-dont-fail-device-init-if-no-dma-channel.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html