lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 17 Sep 2013 16:39:08 -0400
From:	Peter Hurley <peter@...leysoftware.com>
To:	Oleg Nesterov <oleg@...hat.com>
CC:	Andrew Morton <akpm@...ux-foundation.org>,
	Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
	Jiri Slaby <jslaby@...e.cz>,
	Linus Torvalds <torvalds@...ux-foundation.org>,
	codonell <codonell@...hat.com>, Eduard Benes <ebenes@...hat.com>,
	Karel Srot <ksrot@...hat.com>,
	Matt Newsome <mnewsome@...hat.com>,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/1] tty: disassociate_ctty() sends the extra SIGCONT

On 09/15/2013 11:50 AM, Oleg Nesterov wrote:
> Starting from v3.10 (probably f91e2590 "tty: Signal foreground
> group processes in hangup") disassociate_ctty() sends SIGCONT
> if tty && on_exit. This breaks LSB test-suite, in particular
> test8 in _exit.c and test40 in sigcon5.c.

Yes, this regression was introduced by me in that commit.
The effect of the regression is that ptys will receive a
SIGCONT when, in similar circumstances, ttys would not.

The fact that two test vectors accidentally tripped over
this regression suggests that some other apps may as well.

Thanks for catching this.

> Put the "!on_exit" check back to restore the old behaviour.
>
> Cc: stable@...r.kernel.org # v3.10+
> Signed-off-by: Oleg Nesterov <oleg@...hat.com>
> Reported-by: Karel Srot <ksrot@...hat.com>

Reviewed-by: Peter Hurley <peter@...leysoftware.com>

> ---
>   drivers/tty/tty_io.c |    3 ++-
>   1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c
> index a9355ce..3a1a01a 100644
> --- a/drivers/tty/tty_io.c
> +++ b/drivers/tty/tty_io.c
> @@ -854,7 +854,8 @@ void disassociate_ctty(int on_exit)
>   			struct pid *tty_pgrp = tty_get_pgrp(tty);
>   			if (tty_pgrp) {
>   				kill_pgrp(tty_pgrp, SIGHUP, on_exit);
> -				kill_pgrp(tty_pgrp, SIGCONT, on_exit);
> +				if (!on_exit)
> +					kill_pgrp(tty_pgrp, SIGCONT, on_exit);
>   				put_pid(tty_pgrp);
>   			}
>   		}
>

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

Powered by blists - more mailing lists