public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Petr Mladek <pmladek@suse.com>
To: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Cc: 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: [PATCH 1/2] init/console: Use ttynull as a fallback when there is no console
Date: Mon, 16 Nov 2020 17:20:04 +0100	[thread overview]
Message-ID: <20201116162004.GP1602@alley> (raw)
In-Reply-To: <X6yTyvIfRUH7TOOx@jagdpanzerIV.localdomain>

On Thu 2020-11-12 10:45:46, Sergey Senozhatsky wrote:
> On (20/11/12 09:17), Sergey Senozhatsky wrote:
> > On (20/11/11 14:54), Petr Mladek wrote:
> > [..]
> > > diff --git a/init/main.c b/init/main.c
> > > index 130376ec10ba..24413c055a85 100644
> > > --- a/init/main.c
> > > +++ b/init/main.c
> > > @@ -1470,8 +1470,14 @@ void __init console_on_rootfs(void)
> > >  	struct file *file = filp_open("/dev/console", O_RDWR, 0);
> > >  
> > >  	if (IS_ERR(file)) {
> > > -		pr_err("Warning: unable to open an initial console.\n");
> > > -		return;
> > > +		pr_err("Warning: unable to open an initial console. Fallback to ttynull.\n");
> > > +		register_ttynull_console();
> > > +
> > 
> > A nit, this probably can be done in console_device() function.
> > 
> > For several reasons:
> > 
> > - we will get covered all the future cases when something other than
> >   console_on_rootfs() will filp_open("/dev/console")

Good point!

My concern is that console_device might be called in "unclear"
context. For example, it is called under tty_mutex in:

	+ tty_open_by_driver()
	  + tty_lookup_driver()
	    + console_device()

Also console_on_rootf() is likely the first code that would actually
use the device.

Well, there is spk_ttyio_initialise_ldisc() that calls tty_kopen().
I am a bit lazy to investigate whether it is called sooner or later.
Anyway, it is accessibility code, so that there should be configured
an accessibility console anyway.

> And the existing ones (including user-space). For instance,
> kernel/bpf/preload/iterators/iterators.c probably fails (?)
> on systems with console=
> 
> 	debug_fd = open("/dev/console", O_WRONLY | O_NOCTTY | O_CLOEXEC);
> 	if (debug_fd < 0)
> 		return 1;
> 
> 	-ss

This looks like an userspace tool, so it should get called after
console_on_rootfs().

It might be my laziness. But I would prefer to go with this patchset.
We could always improve it when anyone meet the problem.

Best Regards,
Petr

  reply	other threads:[~2020-11-16 16:20 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-11 13:54 [PATCH 0/2] printk/console: Use ttynull when no console is available or wanted Petr Mladek
2020-11-11 13:54 ` [PATCH 1/2] init/console: Use ttynull as a fallback when there is no console Petr Mladek
2020-11-11 16:36   ` Greg Kroah-Hartman
2020-11-11 22:52   ` Guenter Roeck
2020-11-11 23:58   ` Sergey Senozhatsky
2020-11-12  0:17   ` Sergey Senozhatsky
2020-11-12  1:45     ` Sergey Senozhatsky
2020-11-16 16:20       ` Petr Mladek [this message]
2021-01-06 23:36   ` ARC no console output (was Re: [PATCH 1/2] init/console: Use ttynull as a fallback when there is no console) Vineet Gupta
2021-01-07  9:02     ` John Ogness
2021-01-07 13:14       ` Greg Ungerer
2021-01-07 16:43       ` Vineet Gupta
2021-01-07 17:04         ` Petr Mladek
2021-01-07 17:58           ` Vineet Gupta
2021-01-08  3:48             ` Sergey Senozhatsky
2021-01-08  5:18               ` Vineet Gupta
2021-01-08  9:30                 ` Petr Mladek
2021-01-13 22:07             ` Peter Korsgaard
2021-01-07  9:09     ` Richard Weinberger
2021-01-07 12:48     ` Petr Mladek
2021-01-07 15:27     ` [Buildroot] " Yann E. MORIN
2020-11-11 13:54 ` [PATCH 2/2] printk/console: Allow to disable console output by using console="" or console=null Petr Mladek
2020-11-11 22:52   ` Guenter Roeck
2020-11-11 23:59   ` Sergey Senozhatsky
2020-11-20 14:24 ` [PATCH 0/2] printk/console: Use ttynull when no console is available or wanted Petr Mladek

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=20201116162004.GP1602@alley \
    --to=pmladek@suse.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=john.ogness@linutronix.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=rostedt@goodmis.org \
    --cc=sergey.senozhatsky.work@gmail.com \
    --cc=sergey.senozhatsky@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