cvs commit: src/sys/kern kern_fork.c

Konstantin Belousov kib at FreeBSD.org
Wed Jul 23 08:45:35 UTC 2008


kib         2008-07-23 08:45:25 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             kern_fork.c 
  Log:
  SVN rev 180738 on 2008-07-23 08:45:25Z by kib
  
  Do the pargs_hold() on the copy of the pointer to the p_args of the
  child process immediately after bulk bcopy() without dropping the
  process lock.
  
  Since process is not single-threaded when forking, dropping and
  reacquiring the lock allows an other thread to change the process title
  of the parent in between, and results in hold being done on the invalid
  pointer. The problem manifested itself as the double free of the old
  p_args.
  
  Reported by:    kris
  Reviewed by:    jhb
  MFC after:      1 week
  
  Revision  Changes    Path
  1.295     +1 -1      src/sys/kern/kern_fork.c


More information about the cvs-all mailing list