tty: fix leakage of -ERESTARTSYS to userland
authorOleg Nesterov <oleg@tv-sign.ru>
Fri, 1 Jun 2007 07:46:53 +0000 (00:46 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Fri, 1 Jun 2007 15:18:29 +0000 (08:18 -0700)
commit040b6362d58fe9a344e053546c12bf821f6fce99
tree38a6edb5a70ae41d26241cf3cc5eceb7f1c1e21e
parent13466c8419c3ab3ccd5e905eef53ca49c6c201be
tty: fix leakage of -ERESTARTSYS to userland

Spotted by Satoru Takeuchi.

kill_pgrp(task_pgrp(current)) sends the signal to the current's thread
group, but can choose any sub-thread as a target for signal_wake_up().
This means that job_control() and tty_check_change() may return
-ERESTARTSYS without signal_pending().

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>
Cc: Roland McGrath <roland@redhat.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/char/n_tty.c
drivers/char/tty_io.c