Date: Sun, 18 Jan 2009 10:40:27 GMT From: Robert Watson <rwatson@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 156319 for review Message-ID: <200901181040.n0IAeRGT042799@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=156319 Change 156319 by rwatson@rwatson_freebsd_capabilities on 2009/01/18 10:39:35 proc_reap() requires the process spinlock, so assert it, and acquire when calling it from procdesc_close(). Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_exit.c#8 edit .. //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_procdesc.c#3 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_exit.c#8 (text+ko) ==== @@ -726,6 +726,7 @@ sx_assert(&proctree_lock, SA_XLOCKED); PROC_LOCK_ASSERT(p, MA_OWNED); + PROC_SLOCK_ASSERT(p, MA_OWNED); KASSERT(p->p_state == PRS_ZOMBIE, ("proc_reap: !PRS_ZOMBIE")); q = td->td_proc; ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_procdesc.c#3 (text+ko) ==== @@ -317,6 +317,7 @@ * the process descriptor when it calls back into * procdesc_reap(). */ + PROC_SLOCK(p); proc_reap(curthread, p, NULL, 0, NULL); } else { /*
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200901181040.n0IAeRGT042799>