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