git: kernel - Fix ptrace signal races between child and parent
Matthew Dillon
dillon at crater.dragonflybsd.org
Sat Aug 27 12:59:27 PDT 2011
commit 8c986a8224d4539e4ee66a3992966c7e2257a311
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sat Aug 27 12:57:53 2011 -0700
kernel - Fix ptrace signal races between child and parent
* Fix several ptrace signal races which could cause the parent's wait()
function to block forever (or until the parent is killed). Generally
speaking we have to use the process token to interlock the wakeup()/tsleep()
sequence used by the ptrace code.
* Fix a MP race in the wait code, we must hold the child process's token
when manipulating its p_flag field.
Reported-by: corecode, tuxillo
Summary of changes:
sys/kern/kern_exit.c | 15 +++++++++++++--
sys/kern/kern_sig.c | 31 ++++++++++++++++++++++++++-----
sys/kern/kern_synch.c | 13 +++++++++++--
3 files changed, 50 insertions(+), 9 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/8c986a8224d4539e4ee66a3992966c7e2257a311
--
DragonFly BSD source repository
More information about the Commits
mailing list