svn commit: r229506 - in stable/8/sys: fs/devfs kern
John Baldwin
jhb at FreeBSD.org
Wed Jan 4 16:51:04 UTC 2012
Author: jhb
Date: Wed Jan 4 16:51:04 2012
New Revision: 229506
URL: http://svn.freebsd.org/changeset/base/229506
Log:
MFC 227069:
Move the cleanup of f_cdevpriv when the reference count of a devfs
file descriptor drops to zero out of _fdrop() and into devfs_close_f()
as it is only relevant for devfs file descriptors.
Modified:
stable/8/sys/fs/devfs/devfs_vnops.c
stable/8/sys/kern/kern_descrip.c
Directory Properties:
stable/8/sys/ (props changed)
stable/8/sys/amd64/include/xen/ (props changed)
stable/8/sys/cddl/contrib/opensolaris/ (props changed)
stable/8/sys/contrib/dev/acpica/ (props changed)
stable/8/sys/contrib/pf/ (props changed)
Modified: stable/8/sys/fs/devfs/devfs_vnops.c
==============================================================================
--- stable/8/sys/fs/devfs/devfs_vnops.c Wed Jan 4 16:50:12 2012 (r229505)
+++ stable/8/sys/fs/devfs/devfs_vnops.c Wed Jan 4 16:51:04 2012 (r229506)
@@ -552,6 +552,13 @@ devfs_close_f(struct file *fp, struct th
td->td_fpop = fp;
error = vnops.fo_close(fp, td);
td->td_fpop = fpop;
+
+ /*
+ * The f_cdevpriv cannot be assigned non-NULL value while we
+ * are destroying the file.
+ */
+ if (fp->f_cdevpriv != NULL)
+ devfs_fpdrop(fp);
return (error);
}
Modified: stable/8/sys/kern/kern_descrip.c
==============================================================================
--- stable/8/sys/kern/kern_descrip.c Wed Jan 4 16:50:12 2012 (r229505)
+++ stable/8/sys/kern/kern_descrip.c Wed Jan 4 16:51:04 2012 (r229506)
@@ -2359,12 +2359,6 @@ _fdrop(struct file *fp, struct thread *t
panic("fdrop: count %d", fp->f_count);
if (fp->f_ops != &badfileops)
error = fo_close(fp, td);
- /*
- * The f_cdevpriv cannot be assigned non-NULL value while we
- * are destroying the file.
- */
- if (fp->f_cdevpriv != NULL)
- devfs_fpdrop(fp);
atomic_subtract_int(&openfiles, 1);
crfree(fp->f_cred);
uma_zfree(file_zone, fp);
More information about the svn-src-stable-8
mailing list