[PATCH] init: Add handshake to poweroff/reboot for signal handler setup

Deb McLemore debmc at linux.vnet.ibm.com
Wed Feb 14 17:53:24 UTC 2018


The only reproduction we were able to perform injected via a BMC soft poweroff being triggered.

This then called into kernel/reboot.c (orderly_poweroff where the schedule_work was performed) utilizing the

usermodehelper during the run_cmd /sbin/poweroff.


On 02/14/2018 09:44 AM, Laurent Bercot wrote:
>> When PID=0 in early kernel_init, PID=1 has a skeleton running, this detection is not
>>
>> the Busybox /sbin/init, but a place holder for when the real Busybox /sbin/init is do_execve'd
>
>  Are you saying the kernel could spawn a /sbin/reboot process *before*
> kernel_init execs into the userspace init?
>
>  If it's the case (and Denys' test will verify it), it's violently out
> of spec. There should be no other userspace processes present before
> init, and if there are, the behaviour is totally undefined, and things
> should very much be expected to fail. It is basically impossible to
> program under Unix if you cannot assume there is a pid 1 present that
> will reap zombies.
>
>  It would be worth it to report the situation to the kernel maintainers
> so they make sure the spawning of userspace processes (triggered by
> soft-poweroff or anything else) is deferred until after /sbin/init has
> been do_execve()'d.
>
> -- 
>  Laurent
>



More information about the busybox mailing list