lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YgviYXNc6zo2V+35@alley>
Date:   Tue, 15 Feb 2022 18:26:57 +0100
From:   Petr Mladek <pmladek@...e.com>
To:     Randy Dunlap <rdunlap@...radead.org>
Cc:     linux-kernel@...r.kernel.org,
        Sergey Senozhatsky <senozhatsky@...omium.org>,
        Steven Rostedt <rostedt@...dmis.org>,
        John Ogness <john.ogness@...utronix.de>,
        Jonathan Corbet <corbet@....net>, linux-doc@...r.kernel.org
Subject: Re: [PATCH] Docs: printk: add 'console=null|""' to
 admin/kernel-parameters

On Mon 2022-02-14 16:56:15, Randy Dunlap wrote:
> Tell about 'console=null|""' and how to use it.
> 
> Signed-off-by: Randy Dunlap <rdunlap@...radead.org>
> Cc: Petr Mladek <pmladek@...e.com>
> Cc: Sergey Senozhatsky <senozhatsky@...omium.org>
> Cc: Steven Rostedt <rostedt@...dmis.org>
> Cc: John Ogness <john.ogness@...utronix.de>
> Cc: Jonathan Corbet <corbet@....net>
> Cc: linux-doc@...r.kernel.org
> ---
>  Documentation/admin-guide/kernel-parameters.txt |    6 ++++++
>  1 file changed, 6 insertions(+)
> 
> --- linux-next-20220214.orig/Documentation/admin-guide/kernel-parameters.txt
> +++ linux-next-20220214/Documentation/admin-guide/kernel-parameters.txt
> @@ -724,6 +724,12 @@
>  		hvc<n>	Use the hypervisor console device <n>. This is for
>  			both Xen and PowerPC hypervisors.
>  
> +		{ null | "" }
> +			Use to disable console output, i.e., to have kernel
> +			console messages discarded.
> +			This must be the first (or only) console= string
> +			used on the kernel command line.

It must be the only console= parameter on the command line. Otherwise,
the other consoles get enabled as well.

It might make sense to detect this situation and print a warning or
so. Nobody has sent a patch for this so far.

But there is even bigger problem. The default console is also used
as stdin/stdout/stderr for the init process. It might fail when there
is no console driver associated with it.

The problem with stdin/stdout/stderr does not happen when
CONFIG_NULL_TTY is enabled and ttynull driver is available.
Unfortunately, it can't be enabled by default because it can
be used by mistake, see the commit a91bd6223ecd46addc71e
("Revert "init/console: Use ttynull as a fallback when there
is no console").

And there is still a mystery that has not been explained yet,
see https://lore.kernel.org/r/a46e9a26-5b9f-f14c-26be-0b4d41fa7429@roeck-us.net

On the positive note. console=null mostly works. All the problems are
hard to reproduce.


Now, what to do with this patch. I would suggest two changes:

1. Replace "must be the first (or only)" with "must be the only"

2. Mention that it is suggested to enable CONFIG_NULL_TTY that
   will avoid problems with stdin/stdout/stderr of the init process.
   But it might cause the ttynull might be used even when a real
   console is configured. And that more details can be found
   in the commit a91bd6223ecd46addc71e ("Revert "init/console:
   Use ttynull as a fallback when there is no console").

   It might be enough to mention this in the commit message.

Best Regards,
Petr

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ