Date: Thu, 02 May 1996 05:01:41 -0700 From: David Greenman <davidg@Root.COM> To: Peter Wemm <peter@spinner.DIALix.COM> Cc: CVS-committers@freefall.freebsd.org, cvs-all@freefall.freebsd.org, cvs-sys@freefall.freebsd.org Subject: Re: cvs commit: src/sys/kern kern_fork.c Message-ID: <199605021201.FAA11887@Root.COM> In-Reply-To: Your message of "Thu, 02 May 1996 19:56:37 %2B0800." <199605021156.TAA00890@spinner.DIALix.COM>
next in thread | previous in thread | raw e-mail | index | archive | help
>> Modified: sys/kern kern_fork.c >> This is a minimal change to fix the problem, it will probably be done >> better by reordering p_vmspace to be in the startzero section, but it >> becomes harder to validate then. > >Now that I think about it more, this may still not be enough.. If >the fork1() is interrupted while inserting the process onto the >allproc list, and the VM system walks the severed allproc list during >kernel growth, or interrupts a little later when the proc has been >inserted but before it's initialised, that would be just as bad. > >If the kernel traverses the allproc list during an interrupt (eg: network, >to allocate more clusters?) to grow the kernel, then all changes to >allproc may need to need to be spl protected.. The pmap_growkernel() function is only called to extend the kernel_map. The allocations that happen at interrupt time come out of the fixed-sized kmem_map and thus won't ever cause a "growkernel" operation. -DG David Greenman Core-team/Principal Architect, The FreeBSD Project
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199605021201.FAA11887>