Re: [PATCH v4 01/11] printk: Handle pre-enabled consoles in the top-level register_console()
From: Petr Mladek
Date: Fri Jul 17 2026 - 05:58:59 EST
On Thu 2026-06-04 12:14:48, Petr Mladek wrote:
> The function try_enable_preferred_console() currently has the
> non-obvious side effect of returning success for consoles that are
> already pre-enabled. This obscures the logic flow during console
> registration.
>
> Move the check for pre-enabled consoles directly into the top-level
> register_console(). This change makes the handling of pre-enabled
> consoles explicit and easier to follow.
>
> Furthermore, this separation lays the groundwork for future cleanups
> where try_enable_preferred_console() can be restricted to cases where
> an entry actually exists in the console_cmdline[] array.
>
> Also it fixes a possible out-of-bound access when the console_cmdline[]
> array is full and no console matched. In fact, the check of
> c->user_specified did not make much sense. The new console either
> matched and was handled in the for-cycle. Or it did not match
> and then *c pointed to an unused entry.
>
> Possible behavior change:
>
> try_enable_preferred_console() will newly be called also with
> @user_specified parameter set to "false" when it failed with the "true"
> variant. But it looks like the right way to do. It will allow to call
> newcon->setup() when the console was preferred by some platform
> specific code.
>
> Reported-by: Naveen Kumar Chaudhary <naveen.osdev@xxxxxxxxx> # out-of-bound access
> Closes: https://lore.kernel.org/r/7sq4tr2nmlz32tvkf6vpsghv6exvqfghsrlvywjcqihzsqqbf7@bspclmti5xg4
> Signed-off-by: Petr Mladek <pmladek@xxxxxxxx>
JFYI, this particular patch has been pushed into printk/linux.git,
branch for-7.3-console-registration-cleanup.
I want to get it in rather sooner than later because it fixes
a potential out-of-bound access. The rest of the patchset
needs more love.
Best Regards,
Petr