Re: [PATCH] exit: skip IRQ disabled warning during power off
From: Oleg Nesterov
Date: Fri Apr 04 2025 - 10:17:14 EST
On 04/04, Breno Leitao wrote:
>
> [ 254.474273] reboot: Power down
> [ 254.479332] ------------[ cut here ]------------
> [ 254.479934] WARNING: CPU: 0 PID: 1 at kernel/exit.c:881 do_exit (kernel/exit.c:881)
^^^^^^
confused... so it seems that the init task does
sys_reboot(LINUX_REBOOT_CMD_POWER_OFF) and exits?
But if the init task exits for any reason it should trigger
if (unlikely(is_global_init(tsk)))
panic("Attempted to kill init! exitcode=0x%08x\n"
below?
OK, it can be multi-threaded, but still this look like we have more
problems than just WARN_ON(irqs_disabled()).
> When pid=1 is being killed, then synchronize_group_exit() will be called
> with irq enabled (as shown by the warning above),
Hmm. synchronize_group_exit() is called right after WARN_ON(irqs_disabled())
you observe, WARN_ON() won't enable irqs?
Oleg.