Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Oct 2009 12:32:26 GMT
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 169127 for review
Message-ID:  <200910021232.n92CWQC5008465@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=169127

Change 169127 by rwatson@rwatson_freebsd_capabilities on 2009/10/02 12:32:03

	Close a race in which a process managed using a process descriptor is
	exiting simultaneously with the process descriptor being closed by
	extending coverage of the proctree lock during close.

Affected files ...

.. //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_procdesc.c#13 edit

Differences ...

==== //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_procdesc.c#13 (text+ko) ====

@@ -337,11 +337,11 @@
 	pd = fp->f_data;
 	fp->f_ops = &badfileops;
 	fp->f_data = NULL;
+
+	sx_xlock(&proctree_lock);
 	PROCDESC_LOCK(pd);
 	pd->pd_flags |= PD_CLOSED;
 	PROCDESC_UNLOCK(pd);
-
-	sx_xlock(&proctree_lock);
 	p = pd->pd_proc;
 	PROC_LOCK(p);
 	if (p->p_state == PRS_ZOMBIE) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200910021232.n92CWQC5008465>