Loading kernel/exit.c +4 −0 Original line number Diff line number Diff line Loading @@ -797,7 +797,11 @@ void __noreturn do_exit(long code) * leave this task alone and wait for reboot. */ if (unlikely(tsk->flags & PF_EXITING)) { #ifdef CONFIG_PANIC_ON_RECURSIVE_FAULT panic("Recursive fault!\n"); #else pr_alert("Fixing recursive fault but reboot is needed!\n"); #endif /* * We can do this unlocked here. The futex code uses * this flag just to verify whether the pi state Loading lib/Kconfig.debug +11 −0 Original line number Diff line number Diff line Loading @@ -879,6 +879,17 @@ config BOOTPARAM_SOFTLOCKUP_PANIC_VALUE default 0 if !BOOTPARAM_SOFTLOCKUP_PANIC default 1 if BOOTPARAM_SOFTLOCKUP_PANIC config PANIC_ON_RECURSIVE_FAULT bool "Panic on recursive faults during task exit" help Panic upon the detection of a recursive fault during task exit, rather than putting the task into an uninterruptible sleep. This is particularly useful for debugging system hangs in scenarios where the task experiencing the fault is critical for system operation, rendering the system inoperable. Say N if unsure. config DETECT_HUNG_TASK bool "Detect Hung Tasks" depends on DEBUG_KERNEL Loading Loading
kernel/exit.c +4 −0 Original line number Diff line number Diff line Loading @@ -797,7 +797,11 @@ void __noreturn do_exit(long code) * leave this task alone and wait for reboot. */ if (unlikely(tsk->flags & PF_EXITING)) { #ifdef CONFIG_PANIC_ON_RECURSIVE_FAULT panic("Recursive fault!\n"); #else pr_alert("Fixing recursive fault but reboot is needed!\n"); #endif /* * We can do this unlocked here. The futex code uses * this flag just to verify whether the pi state Loading
lib/Kconfig.debug +11 −0 Original line number Diff line number Diff line Loading @@ -879,6 +879,17 @@ config BOOTPARAM_SOFTLOCKUP_PANIC_VALUE default 0 if !BOOTPARAM_SOFTLOCKUP_PANIC default 1 if BOOTPARAM_SOFTLOCKUP_PANIC config PANIC_ON_RECURSIVE_FAULT bool "Panic on recursive faults during task exit" help Panic upon the detection of a recursive fault during task exit, rather than putting the task into an uninterruptible sleep. This is particularly useful for debugging system hangs in scenarios where the task experiencing the fault is critical for system operation, rendering the system inoperable. Say N if unsure. config DETECT_HUNG_TASK bool "Detect Hung Tasks" depends on DEBUG_KERNEL Loading