|
Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com |
CVS: cvs.openbsd.org: src
From: Aaron Campbell (aaron
cvs.openbsd.org)
Date: Wed Nov 02 2005 - 14:03:17 CST
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
CVSROOT: /cvs
Module name: src
Changes by: aaron
cvs.openbsd.org 2005/11/02 13:03:16
Modified files:
sys/kern : kern_fork.c
Log message:
Avoid a theoretical race condition.
In fork1(), setup the p_{prof,virt}_to timeouts _before_ putting the process
on the runqueue. Since SCHED_UNLOCK() can cause pre-emption, it is possible
(with the old code) for the newly created process to run and become curproc
before the timeouts were set. If itimers are set early, and you're unlucky,
hardclock() might fire at this time and attempt timeout_add() on the unset
timeouts, leading to "panic: timeout_add: not initialized".
deraadt
, miod
ok
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]