From: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
To: Petr Mladek <pmladek@suse.com>
Cc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>,
Steven Rostedt <rostedt@goodmis.org>,
John Ogness <john.ogness@linutronix.de>,
Linus Torvalds <torvalds@linux-foundation.org>,
Guenter Roeck <linux@roeck-us.net>,
Shreyas Joshi <shreyas.joshi@biamp.com>,
shreyasjoshi15@gmail.com,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>,
linux-kernel@vger.kernel.org
Subject: Re: [RFC 1/2] printk: Add kernel parameter: mute_console
Date: Fri, 23 Oct 2020 09:33:34 +0900 [thread overview]
Message-ID: <20201023003334.GA588@jagdpanzerIV.localdomain> (raw)
In-Reply-To: <20201022114228.9098-2-pmladek@suse.com>
On (20/10/22 13:42), Petr Mladek wrote:
> +static bool mute_console;
> +
> +static int __init mute_console_setup(char *str)
> +{
> + mute_console = true;
> + pr_info("All consoles muted.\n");
> +
> + return 0;
> +}
First of all, thanks a lot for picking this up and for the patch set!
I've several thoughts and comments below.
> static bool suppress_message_printing(int level)
> {
> - return (level >= console_loglevel && !ignore_loglevel);
> + if (unlikely(mute_console))
> + return true;
> +
> + if (unlikely(ignore_loglevel))
> + return false;
> +
> + return (level >= console_loglevel);
> }
This is one way of doing it. Another one is to clear CON_ENABLED bit
from all consoles (upon registration), one upside of this is that we
will signal user-space that consoles are disabled/muted (by removing
the E flag from /proc/consoles).
But, if I'm mistaken, but this mutes only printk side, consoles still
have uart running:
printf -> tty -> uart -> serial_driver_IRQ() -> TX
seriaal_driver_IRQ() -> RX -> uart -> tty
so user space, in theory, still can push messages to slow consoles,
AFAIU.
Thinking more about it. We are still relying on the fact that there is
anything registered as console driver, which is not necessarily the case,
we can have NULL console drivers list. So how about having a dummy struct
console in printk, with NOP read/write and NOP tty_driver and NOP
tty_operations. So that when init calls filp_open("/dev/console") and
we can't give tty anything but NULL, we'd just give tty back the dummy
NOP device.
-ss
next prev parent reply other threads:[~2020-10-23 0:33 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-22 11:42 [RFC 0/2] printk: Official way to mute consoles Petr Mladek
2020-10-22 11:42 ` [RFC 1/2] printk: Add kernel parameter: mute_console Petr Mladek
2020-10-22 13:10 ` John Ogness
2020-10-22 14:15 ` Guenter Roeck
2020-10-22 14:53 ` John Ogness
2020-10-23 11:49 ` Petr Mladek
2020-10-23 14:52 ` Guenter Roeck
2020-10-22 13:45 ` Steven Rostedt
2020-10-22 14:22 ` Guenter Roeck
2020-10-23 9:46 ` Petr Mladek
2020-10-23 0:33 ` Sergey Senozhatsky [this message]
2020-10-23 12:11 ` Petr Mladek
2020-10-23 15:59 ` Linus Torvalds
2020-10-22 11:42 ` RFC 2/2] printk: Restore and document obsolete ways to disable console output Petr Mladek
2020-10-22 14:23 ` Guenter Roeck
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=20201023003334.GA588@jagdpanzerIV.localdomain \
--to=sergey.senozhatsky@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=john.ogness@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=pmladek@suse.com \
--cc=rostedt@goodmis.org \
--cc=sergey.senozhatsky.work@gmail.com \
--cc=shreyas.joshi@biamp.com \
--cc=shreyasjoshi15@gmail.com \
--cc=torvalds@linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®