Replace the global variable "did_panic" with in_panic_state() Signed-off-by: Xiaoming Ni <nixiaoming@xxxxxxxxxx> --- kernel/hung_task.c | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/kernel/hung_task.c b/kernel/hung_task.c index bb2e3e15c84c..2747cd6dd35e 100644 --- a/kernel/hung_task.c +++ b/kernel/hung_task.c @@ -50,7 +50,6 @@ unsigned long __read_mostly sysctl_hung_task_check_interval_secs; int __read_mostly sysctl_hung_task_warnings = 10; -static int __read_mostly did_panic; static bool hung_task_show_lock; static bool hung_task_call_panic; static bool hung_task_show_all_bt; @@ -72,18 +71,6 @@ unsigned int __read_mostly sysctl_hung_task_all_cpu_backtrace; unsigned int __read_mostly sysctl_hung_task_panic = CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE; -static int -hung_task_panic(struct notifier_block *this, unsigned long event, void *ptr) -{ - did_panic = 1; - - return NOTIFY_DONE; -} - -static struct notifier_block panic_block = { - .notifier_call = hung_task_panic, -}; - static void check_hung_task(struct task_struct *t, unsigned long timeout) { unsigned long switch_count = t->nvcsw + t->nivcsw; @@ -223,7 +210,7 @@ static void check_hung_uninterruptible_tasks(unsigned long timeout) * If the system crashed already then all bets are off, * do not report extra hung tasks: */ - if (test_taint(TAINT_DIE) || did_panic) + if (test_taint(TAINT_DIE) || unlikely(in_panic_state())) return; hung_task_show_lock = false; @@ -347,8 +334,6 @@ static int watchdog(void *dummy) static int __init hung_task_init(void) { - atomic_notifier_chain_register(&panic_notifier_list, &panic_block); - /* Disable hung task detector on suspend */ pm_notifier(hungtask_pm_notify, 0); -- 2.27.0