diff options
| author | Petr Mladek <pmladek@suse.com> | 2026-06-04 12:14:48 +0200 |
|---|---|---|
| committer | Petr Mladek <pmladek@suse.com> | 2026-07-17 11:19:41 +0200 |
| commit | 3219f9b61d45129d24fe4b5a070fc1e3d8fae5c5 (patch) | |
| tree | 963bf1f745b4006018726d2a1f9261a475853398 /scripts/objdiff | |
| parent | 0db1496dcb6621648b007ad0e7d55b876ae0f0bb (diff) | |
| download | linux-3219f9b61d45129d24fe4b5a070fc1e3d8fae5c5.tar.gz linux-3219f9b61d45129d24fe4b5a070fc1e3d8fae5c5.zip | |
printk: Handle pre-enabled consoles in the top-level register_console()
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@gmail.com> # out-of-bound access
Closes: https://lore.kernel.org/r/7sq4tr2nmlz32tvkf6vpsghv6exvqfghsrlvywjcqihzsqqbf7@bspclmti5xg4
Reviewed-by: John Ogness <john.ogness@linutronix.de>
Link: https://patch.msgid.link/20260604101459.393162-2-pmladek@suse.com
Signed-off-by: Petr Mladek <pmladek@suse.com>
Diffstat (limited to 'scripts/objdiff')
0 files changed, 0 insertions, 0 deletions
