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.