Re: kernel hang during reboot when cmdline include a non-exist console device

From: Sergey Senozhatsky
Date: Tue Aug 31 2021 - 04:48:03 EST


On (21/08/31 10:14), Petr Mladek wrote:
> On Tue 2021-08-31 12:17:59, Sergey Senozhatsky wrote:
> > On (21/08/30 19:53), Linus Torvalds wrote:
> > >
> > > There's a bugzilla for this, but let's just move it to reguilar email,
> > > unless some of you want to track it that way.
> > >
> > > The bugzilla entry says
> > >
> > > "When reboot, the capslock key of thinkpad x1 starts blinking"
> > >
> > > which sounds like there's an oops that just isn't showing, quite
> > > possibly because the console has already been shut down.
> > >
> > > I didn't test this out, and would sincerely hope that somebody else is
> > > willing to follow up on it since I'm in the busiest part of the merge
> > > window.
> >
> > [..]
> >
> > > > https://bugzilla.kernel.org/show_bug.cgi?id=214201
> >
> > I think normally wrong/empty console boot argument should not cause
> > problems. We have a huge number of devices that use console="", for
> > instance. But on some hardware this triggers panic(), very early on.
> >
> > I have the same symptoms on my laptop, and so far haven't been able
> > to figure out how to track it down, but I need to re-start my investigation.
>
> Sergey, I think that you talk about the crash where there is no registered
> console and console_on_rootfs() fails to create stdin, stdout, and
> stderr for the init process. As a result the kernel crashes
> during boot.

Oh, good point, this is during reboot... I somehow missed it. I saw that the
kernel oopses when invalid console driver is specified and that sounded
familiar.

So these cases still _can have_ same root cause, but not necessarily.

> But the bugreport says that the system booted. It crashed later during
> reboot. It will likely be in the shutdown phase. It still might be still
> be caused by the missing console. But we should rule out other
> problems.
>
> James, do you see the problem:
>
> 1. When there is a real console registered. When you remove the
> wrong console= parameter.
>
> 2. When using "reboot -f" so that the system reboots a dirty way
> without trying to shut down services.

And may I ask, just in case, if James can revert a revert of Petr's commit:

revert a91bd6223ecd46addc71ee6fcd432206d39365d2

boot with wrong console argument and see if the kernel reboots without
any problems.