All of lore.kernel.org
 help / color / mirror / Atom feed
From: Willy Tarreau <w@1wt.eu>
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	linux-kernel@vger.kernel.org
Subject: Re: emergency or init=/bin/sh mode and terminal signals
Date: Sun, 18 Jun 2006 23:33:42 +0200	[thread overview]
Message-ID: <20060618213342.GG13255@w.ods.org> (raw)
In-Reply-To: <20060618212303.GD4744@bouh.residence.ens-lyon.fr>

On Sun, Jun 18, 2006 at 11:23:03PM +0200, Samuel Thibault wrote:
> Hi,
> 
> There's a long-standing issue in init=/bin/sh mode: pressing control-C
> doesn't send a SIGINT to programs running on the console. The incurred
> typical pitfall is if one runs ping without a -c option... no way to
> stop it!
> 
> This is because no session is set up by the kernel, and shells don't
> start sessions on their own, so that no session (hence no controlling
> tty) is set up.
> 
> The attached patch sets such session and controlling tty up, which fixes
> the issue. The unfortunate effect is that init might be killed if one
> presses control-C very fast after its start.

This downside is a little problematic. Wouldn't it be possible to disable
the interrupt signal on the terminal, and let the user re-enable it when
needed using "stty intr ^C" ?

I too am used to starting with init=/bin/sh, but I'm also used to launch
ping in the background. However, if getting Ctrl-C working implies a risk
of killing init, then I'd rather keep it the old way.

> Samuel

Regards,
Willy

> --- linux-2.6.17-orig/init/main.c	2006-06-18 19:22:40.000000000 +0200
> +++ linux-2.6.17-perso/init/main.c	2006-06-18 23:00:00.000000000 +0200
> @@ -703,9 +703,13 @@
>  	system_state = SYSTEM_RUNNING;
>  	numa_default_policy();
>  
> +	sys_setsid();
> +
>  	if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
>  		printk(KERN_WARNING "Warning: unable to open an initial console.\n");
>  
> +	sys_ioctl(0, TIOCSCTTY, 1);
> +
>  	(void) sys_dup(0);
>  	(void) sys_dup(0);
>  


  reply	other threads:[~2006-06-18 21:36 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-18 21:23 emergency or init=/bin/sh mode and terminal signals Samuel Thibault
2006-06-18 21:33 ` Willy Tarreau [this message]
2006-06-19 22:03   ` Samuel Thibault
2006-06-20 11:15     ` linux-os (Dick Johnson)
2006-06-18 22:39 ` Wakko Warner
2006-06-18 22:40   ` Samuel Thibault
2006-06-18 22:44     ` Willy Tarreau
2006-06-18 22:48       ` Samuel Thibault
2006-06-19  3:59         ` Willy Tarreau
2006-06-19  7:59           ` Samuel Thibault
2006-06-18 22:52     ` Wakko Warner
2006-06-18 23:25       ` Joshua Hudson
2006-06-19 11:37 ` linux-os (Dick Johnson)
2006-06-19 11:46   ` Samuel Thibault
2006-06-19 12:05     ` linux-os (Dick Johnson)
2006-06-19 22:06       ` Samuel Thibault
2006-06-21 11:53     ` linux-os (Dick Johnson)
2006-06-21 11:57       ` Samuel Thibault
2006-06-19 22:09   ` Samuel Thibault
2006-06-20  0:02     ` David Luyer
2006-06-20  4:28       ` Willy Tarreau
2006-06-20  5:03         ` Valdis.Kletnieks
2006-06-20  8:04       ` Samuel Thibault
2006-07-01 14:57         ` Matthias Andree
2006-06-20 11:26     ` linux-os (Dick Johnson)
2006-06-20 11:32       ` Samuel Thibault
2006-06-19 12:08 ` Jan Engelhardt
2006-06-19 15:47   ` Samuel Thibault
  -- strict thread matches above, loose matches on Subject: below --
2006-06-19  3:47 Albert Cahalan
2006-06-19  8:57 ` Samuel Thibault

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=20060618213342.GG13255@w.ods.org \
    --to=w@1wt.eu \
    --cc=linux-kernel@vger.kernel.org \
    --cc=samuel.thibault@ens-lyon.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.