mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] tty: prevent SAK to kill init process
@ 2010-11-01 18:34 Jiri Olsa
  2010-11-01 19:40 ` Eric W. Biederman
  0 siblings, 1 reply; 3+ messages in thread
From: Jiri Olsa @ 2010-11-01 18:34 UTC (permalink / raw)
  To: ebiederm, gregkh; +Cc: linux-kernel, Jiri Olsa

hi,

hitting "Secure Attention Key" on console that's openned
by init process, causing panic due to an attempt to kill
the init process.

Fixing this by skipping the init process in the loop.

wbr,
jirka


Signed-off-by: Jiri Olsa <jolsa@redhat.com>
---
 drivers/char/tty_io.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c
index c05c5af..1b85d37 100644
--- a/drivers/char/tty_io.c
+++ b/drivers/char/tty_io.c
@@ -2746,6 +2746,8 @@ void __do_SAK(struct tty_struct *tty)
 	read_lock(&tasklist_lock);
 	/* Kill the entire session */
 	do_each_pid_task(session, PIDTYPE_SID, p) {
+		if (is_global_init(p))
+			continue;
 		printk(KERN_NOTICE "SAK: killed process %d"
 			" (%s): task_session(p)==tty->session\n",
 			task_pid_nr(p), p->comm);
@@ -2755,6 +2757,8 @@ void __do_SAK(struct tty_struct *tty)
 	 * tty open.
 	 */
 	do_each_thread(g, p) {
+		if (is_global_init(p))
+			continue;
 		if (p->signal->tty == tty) {
 			printk(KERN_NOTICE "SAK: killed process %d"
 			    " (%s): task_session(p)==tty->session\n",
-- 
1.7.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] tty: prevent SAK to kill init process
  2010-11-01 18:34 [PATCH] tty: prevent SAK to kill init process Jiri Olsa
@ 2010-11-01 19:40 ` Eric W. Biederman
  2010-11-02  8:55   ` Jiri Olsa
  0 siblings, 1 reply; 3+ messages in thread
From: Eric W. Biederman @ 2010-11-01 19:40 UTC (permalink / raw)
  To: Jiri Olsa; +Cc: gregkh, linux-kernel

Jiri Olsa <jolsa@redhat.com> writes:

> hi,
>
> hitting "Secure Attention Key" on console that's openned
> by init process, causing panic due to an attempt to kill
> the init process.
>
> Fixing this by skipping the init process in the loop.

This sounds like proper behavior.  The goal of SAK is the guarantee that
no one else has the tty one, and this violates that goal.  Which version
init opens a controlling tty?  I expect it is time to deliver SIGCLUE
to it.

Eric

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] tty: prevent SAK to kill init process
  2010-11-01 19:40 ` Eric W. Biederman
@ 2010-11-02  8:55   ` Jiri Olsa
  0 siblings, 0 replies; 3+ messages in thread
From: Jiri Olsa @ 2010-11-02  8:55 UTC (permalink / raw)
  To: Eric W. Biederman; +Cc: gregkh, linux-kernel

On Mon, Nov 01, 2010 at 12:40:41PM -0700, Eric W. Biederman wrote:
> Jiri Olsa <jolsa@redhat.com> writes:
> 
> > hi,
> >
> > hitting "Secure Attention Key" on console that's openned
> > by init process, causing panic due to an attempt to kill
> > the init process.
> >
> > Fixing this by skipping the init process in the loop.
> 
> This sounds like proper behavior.  The goal of SAK is the guarantee that
> no one else has the tty one, and this violates that goal.  Which version
> init opens a controlling tty?  I expect it is time to deliver SIGCLUE
> to it.
I was using some older upstart version, which kept the console open

I found this log entry in changelog :)

       * No longer holds /dev/console open, so the SAK SysRq key will not
         kill Upstart.  (Bug: #486005)

So probably no need for the patch

sry for noise,
jirka

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-11-02  8:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-01 18:34 [PATCH] tty: prevent SAK to kill init process Jiri Olsa
2010-11-01 19:40 ` Eric W. Biederman
2010-11-02  8:55   ` Jiri Olsa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome