kernel-ark/include
Oleg Nesterov d12619b5ff fix group stop with exit race
do_signal_stop() counts all sub-thread and sets ->group_stop_count
accordingly.  Every thread should decrement ->group_stop_count and stop,
the last one should notify the parent.

However a sub-thread can exit before it notices the signal_pending(), or it
may be somewhere in do_exit() already.  In that case the group stop never
finishes properly.

Note: this is a minimal fix, we can add some optimizations later.  Say we
can return quickly if thread_group_empty().  Also, we can move some signal
related code from exit_notify() to exit_signals().

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Acked-by: Davide Libenzi <davidel@xmailserver.org>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-08 09:22:27 -08:00
..
acpi Merge branches 'release' and 'fluff' into release 2008-02-07 03:38:22 -05:00
asm-alpha Add cmpxchg64 and cmpxchg64_local to alpha 2008-02-07 08:42:30 -08:00
asm-arm Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2008-02-07 12:57:44 -08:00
asm-avr32 Add cmpxchg_local to avr32 2008-02-07 08:42:31 -08:00
asm-blackfin Add cmpxchg_local to blackfin, replace __cmpxchg by generic cmpxchg 2008-02-07 08:42:31 -08:00
asm-cris Add cmpxchg_local to cris 2008-02-07 08:42:31 -08:00
asm-frv Add cmpxchg_local to frv 2008-02-07 08:42:32 -08:00
asm-generic tty: let architectures override the user/kernel macros. 2008-02-08 09:22:24 -08:00
asm-h8300 Add cmpxchg_local to h8300 2008-02-07 08:42:32 -08:00
asm-ia64 Add cmpxchg_local, cmpxchg64 and cmpxchg64_local to ia64 2008-02-07 08:42:32 -08:00
asm-m32r local_t m32r use architecture specific cmpxchg_local 2008-02-07 08:42:32 -08:00
asm-m68k m68k: kill page walker compile warning 2008-02-07 09:10:06 -08:00
asm-m68knommu Add cmpxchg_local to m68knommu 2008-02-07 08:42:32 -08:00
asm-mips Add cmpxchg64 and cmpxchg64_local to mips 2008-02-07 08:42:30 -08:00
asm-parisc Add cmpxchg_local to parisc 2008-02-07 08:42:32 -08:00
asm-powerpc Merge branch 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2008-02-07 09:02:26 -08:00
asm-ppc Add cmpxchg_local to ppc 2008-02-07 08:42:32 -08:00
asm-s390 tty: s390 support for termios2. 2008-02-08 09:22:24 -08:00
asm-sh Sanitize the type of struct user.u_ar0 2008-02-07 08:42:30 -08:00
asm-sparc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 2008-02-07 10:21:26 -08:00
asm-sparc64 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 2008-02-07 10:21:26 -08:00
asm-um
asm-v850 Add cmpxchg_local to v850 2008-02-07 08:42:33 -08:00
asm-x86 Add cmpxchg64 and cmpxchg64_local to x86_64 2008-02-07 08:42:31 -08:00
asm-xtensa Add cmpxchg_local to xtensa 2008-02-07 08:42:33 -08:00
crypto
keys
linux fix group stop with exit race 2008-02-08 09:22:27 -08:00
math-emu
media
mtd
net 9p: add support for sticky bit 2008-02-06 19:25:06 -06:00
pcmcia
rdma
rxrpc
scsi [SCSI] Small cleanups for scsi_host.h 2008-02-07 18:02:43 -06:00
sound
video atmel_lcdfb: backlight control 2008-02-06 10:41:16 -08:00
xen
Kbuild