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
| ||
|
Date: Thu, 30 Oct 2008 10:55:40 -0500 From: "Michael Kerrisk" <mtk.manpages@...glemail.com> To: "Oleg Nesterov" <oleg@...hat.com> Cc: lkml <linux-kernel@...r.kernel.org>, "Alan Cox" <alan@...rguk.ukuu.org.uk>, "Bert Wesarg" <bert.wesarg@...glemail.com>, "Ingo Molnar" <mingo@...e.hu>, "Roland McGrath" <roland@...hat.com>, "Linus Torvalds" <torvalds@...ux-foundation.org> Subject: Re: Strange stop-signal behavior in multithreaded program with defunct main Hi Oleg, On Thu, Oct 30, 2008 at 6:00 AM, Oleg Nesterov <oleg@...hat.com> wrote: > On 10/28, Michael Kerrisk wrote: >> >> Bert Wesarg described a scenario that I quickly replicated on >> 2.6.28-rc2 (and 2.6.25 -- it's not a regression in 2.6.28-rc) >> using the program below: if we have a multithreaded process >> with a defunct main thread running on a tty, and that >> process is sent a stop signal (either ^Z (SIGTSTP) or a stop >> signal sent from another terminal using kill(1)), then: >> >> a) the terminal is locked up; and >> >> b) the program is unresponsive to any other signal, except SIGKILL >> or SIGCONT. > > Yes, known problem. Please look at > > [RFC,PATCH 3/3] do_wait: fix waiting for stopped group with dead leader > http://marc.info/?t=119713920000003 Okay -- thanks for the info. I've added some text to man-pages to cover this bug. Cheers, Michael --- a/man3/pthread_exit.3 +++ b/man3/pthread_exit.3 @@ -21,7 +21,7 @@ .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" -.TH PTHREAD_EXIT 3 2008-10-24 "Linux" "Linux Programmer's Manual" +.TH PTHREAD_EXIT 3 2008-10-30 "Linux" "Linux Programmer's Manual" .SH NAME pthread_exit \- terminate calling thread .SH SYNOPSIS @@ -87,6 +87,18 @@ The value pointed to by .IR retval should not be located on the calling thread's stack, since the contents of that stack are undefined after the thread terminates. +.SH BUGS +Currently, +.\" Linux 2.6.27 +there are limitations in the kernel implementation logic for +.BR wait (2)ing +on a stopped thread group with a dead thread group leader. +This can manifest in problems such as a locked terminal if a stop signal is +sent to a foreground process whose thread group leader has already called +.BR pthread_exit (3). +.\" FIXME . review a later kernel to see if this gets fixed +.\" http://thread.gmane.org/gmane.linux.kernel/611611 +.\" http://marc.info/?l=linux-kernel&m=122525468300823&w=2 .SH SEE ALSO .BR pthread_create (3), .BR pthread_join (3), -- 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