[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250404141623.GD3720@redhat.com>
Date: Fri, 4 Apr 2025 16:16:24 +0200
From: Oleg Nesterov <oleg@...hat.com>
To: Breno Leitao <leitao@...ian.org>
Cc: Mateusz Guzik <mjguzik@...il.com>, akpm@...ux-foundation.org,
brauner@...nel.org, linux-kernel@...r.kernel.org,
joel.granados@...nel.org, kernel-team@...a.com
Subject: Re: [PATCH] exit: skip IRQ disabled warning during power off
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.
Powered by blists - more mailing lists