From: Chris Down <chris@chrisdown.name>
To: Petr Mladek <pmladek@suse.com>
Cc: John Ogness <john.ogness@linutronix.de>,
Sergey Senozhatsky <senozhatsky@chromium.org>,
Steven Rostedt <rostedt@goodmis.org>,
Marcos Paulo de Souza <mpdesouza@suse.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 8/8] printk: Try enable preferred consoles only when there are any
Date: Thu, 19 Feb 2026 23:16:24 +0800 [thread overview]
Message-ID: <aZcpSHEupmP8B5qA@chrisdown.name> (raw)
In-Reply-To: <20260206165002.496724-9-pmladek@suse.com>
Petr Mladek writes:
>try_enable_preferred_console() used to be always called because it
>had several hidden effects, namely:
>
>- enabled Braille consoles which were ignored by "preferred_dev_console"
> because they were not associated with /dev/console.
>
>- returned success when a console was pre-enabled using CON_ENABLED
> flag.
>
>- returned success when a console was enabled by default because
> try_enable_default_console() did not return success.
>
>The first two hidden effects were removed in previous patches. Remove
>the last one so that try_enable_preferred_console() can be called only
>when any non-Braille console is preferred.
There is a fourth hidden effect that was also removed, unconditionally
initialising err :-) Unfortunately removing that causes an uninitialised read.
>@@ -4156,17 +4161,15 @@ void register_console(struct console *newcon)
> if (preferred_dev_console < 0) {
> if (hlist_empty(&console_list) || !console_first()->device ||
> console_first()->flags & CON_BOOT) {
>- try_enable_default_console(newcon);
>+ err = try_enable_default_console(newcon);
> }
>+ } else {
>+ err = try_enable_preferred_console(newcon, true);
>+
>+ if (err == -ENOENT)
>+ err = try_enable_preferred_console(newcon, false);
> }
When preferred_dev_console < 0 and the inner condition is false, nothing will
initialise err.
>
>- /* See if this console matches one we selected on the command line */
>- err = try_enable_preferred_console(newcon, true);
>-
>- /* If not, try to match against the platform default(s) */
>- if (err == -ENOENT)
>- err = try_enable_preferred_console(newcon, false);
You can see previously it was initialised without conditions here.
Later we read err with `if (err == -ENOENT)`, so it's possible to do an
uninitialised read.
Doing `int err = -ENOENT` at declaration should fix it by the look of it.
next prev parent reply other threads:[~2026-02-19 15:16 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-06 16:49 [PATCH 0/8] printk: Clean up preferred console handling Petr Mladek
2026-02-06 16:49 ` [PATCH 1/8] printk: Rename struct console_cmdline to preferred_console Petr Mladek
2026-02-19 14:40 ` Chris Down
2026-02-19 18:34 ` Marcos Paulo de Souza
2026-02-06 16:49 ` [PATCH 2/8] printk: Rename preferred_console to preferred_dev_console Petr Mladek
2026-02-19 14:41 ` Chris Down
2026-02-19 18:37 ` Marcos Paulo de Souza
2026-02-06 16:49 ` [PATCH 3/8] printk: Separate code for adding/updating preferred console metadata Petr Mladek
2026-02-16 14:05 ` John Ogness
2026-02-19 12:46 ` Petr Mladek
2026-02-19 14:06 ` John Ogness
2026-02-19 14:48 ` Chris Down
2026-02-19 16:51 ` Petr Mladek
2026-02-06 16:49 ` [PATCH 4/8] printk: Cleanup _braille_(un)register_console() wrappers Petr Mladek
2026-02-19 14:49 ` Chris Down
2026-02-19 18:50 ` Marcos Paulo de Souza
2026-02-06 16:49 ` [PATCH 5/8] printk: Try to register each console as Braille first Petr Mladek
2026-02-19 14:59 ` Chris Down
2026-02-19 16:59 ` Petr Mladek
2026-02-20 4:52 ` Chris Down
2026-02-20 11:43 ` Petr Mladek
2026-02-06 16:50 ` [PATCH 6/8] printk: Do not set Braille console as preferred_console Petr Mladek
2026-02-16 16:07 ` John Ogness
2026-02-19 14:55 ` Petr Mladek
2026-02-19 15:35 ` John Ogness
2026-02-19 15:03 ` Chris Down
2026-02-06 16:50 ` [PATCH 7/8] printk: Handle pre-enabled consoles directly in register_console() Petr Mladek
2026-02-19 15:03 ` Chris Down
2026-02-06 16:50 ` [PATCH 8/8] printk: Try enable preferred consoles only when there are any Petr Mladek
2026-02-19 15:16 ` Chris Down [this message]
2026-02-17 8:56 ` [PATCH 0/8] printk: Clean up preferred console handling John Ogness
2026-02-19 15:20 ` Chris Down
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aZcpSHEupmP8B5qA@chrisdown.name \
--to=chris@chrisdown.name \
--cc=john.ogness@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mpdesouza@suse.com \
--cc=pmladek@suse.com \
--cc=rostedt@goodmis.org \
--cc=senozhatsky@chromium.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.