Re: [PATCH 1/2] init/console: Use ttynull as a fallback when there is no console

Sergey Senozhatsky
2020-11-12T05:44:19Z

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")

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