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

Petr Mladek
2022-10-25T10:16:04Z

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@linutronix.de>

Reviewed-by: Petr Mladek <pmladek@suse.com>

Best Regards,
Petr