Re: [PATCH printk v2 22/38] serial: kgdboc: document console_lock usage

From: Petr Mladek
Date: Tue Oct 25 2022 - 06:16:04 EST


On Wed 2022-10-19 17:01:44, John Ogness wrote:
> kgdboc_earlycon_init() uses the console_lock to ensure that no consoles
> are unregistered until the kgdboc_earlycon is setup. This is necessary
> because the trapping of the exit() callback assumes that the exit()
> callback is not called before the trap is setup.

Great catch!

Note: This behavior might be dangerous. printk_late_init() checks if
the early console code is in the init section. It unregisters
such consoles even when keep_bootcon parameter is used.

Well, it is "not serious" and might be improved later.
If the early console has this code in the early section
then it is a bug and should be fixed. printk_late_init() does
the best effort because this problem would block all consoles
and would be hard to debug. It is the same with kgdb but
it is still only a corner case and just the best effort.

> Explicitly document this non-typical console_lock usage.
>
> Signed-off-by: John Ogness <john.ogness@xxxxxxxxxxxxx>

Reviewed-by: Petr Mladek <pmladek@xxxxxxxx>

Best Regards,
Petr