lkml.org 
[lkml]   [2004]   [Oct]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH] Console: fall back to /dev/null when no console is availlable
Date
> More computing sins are committed in the name of efficiency (without
> necessarily achieving it) than for any other single reason - including
> blind stupidity.
> -- W. A. Wulf
>
> Some userspace applications rely on the assumption that fd's 0, 1 and
> 2 are always open and function as raw stdin, stdout and stderr,
> respectively.
>
> With no console registered, init get's called without those fd's
> already open. Arguably, init should know better, handle that case and
> fix things before forking other processed. But what about
> init=/bin/bash? Ok, bash could be fixed as well, as could...
>
> Instead, this patch opens /dev/null when /dev/console doesn't work.
> It swallows all output and doesn't give much input, but programs can
> handle that just fine.
>
> Signed-off-by: Jцrn Engel <joern@wohnheim.fh-wedel.de>
> ---
>
> main.c | 5 ++++-
> 1 files changed, 4 insertions(+), 1 deletion(-)
>
> --- linux-2.6.8cow/init/main.c~console 2004-10-05 20:46:40.000000000 +0200
> +++ linux-2.6.8cow/init/main.c 2004-10-05 20:46:08.000000000 +0200
> @@ -695,8 +695,11 @@
> system_state = SYSTEM_RUNNING;
> numa_default_policy();
>
> - if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
> + if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0) {
> printk("Warning: unable to open an initial console.\n");
> + if (open("/dev/null", O_RDWR, 0) == 0)
> + printk(" Falling back to /dev/null.\n");
> + }

What will happen if /dev is totally empty?
--
vda

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:06    [W:0.154 / U:0.300 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site