svn commit: r237073 - head/sys/kern
Pawel Jakub Dawidek
pjd at FreeBSD.org
Thu Jun 14 15:26:24 UTC 2012
Author: pjd
Date: Thu Jun 14 15:26:23 2012
New Revision: 237073
URL: http://svn.freebsd.org/changeset/base/237073
Log:
Assert that the filedesc lock is not held when closef() is called.
MFC after: 1 month
Modified:
head/sys/kern/kern_descrip.c
Modified: head/sys/kern/kern_descrip.c
==============================================================================
--- head/sys/kern/kern_descrip.c Thu Jun 14 15:24:45 2012 (r237072)
+++ head/sys/kern/kern_descrip.c Thu Jun 14 15:26:23 2012 (r237073)
@@ -2112,6 +2112,9 @@ closef(struct file *fp, struct thread *t
struct filedesc *fdp;
struct file *fp_object;
+ fdp = td->td_proc->p_fd;
+ FILEDESC_UNLOCK_ASSERT(fdp);
+
/*
* POSIX record locking dictates that any close releases ALL
* locks owned by this process. This is handled by setting
@@ -2147,7 +2150,6 @@ closef(struct file *fp, struct thread *t
* Handle special case where file descriptor table is
* shared between multiple process leaders.
*/
- fdp = td->td_proc->p_fd;
FILEDESC_XLOCK(fdp);
for (fdtol = fdtol->fdl_next;
fdtol != td->td_proc->p_fdtol;
More information about the svn-src-all
mailing list