[PATCH] tty: prevent SAK to kill init process

From: Jiri Olsa
Date: Mon Nov 01 2010 - 14:34:35 EST


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@xxxxxxxxxx>
---
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

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