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