[Midnightbsd-cvs] src [8136] trunk/sys: strealine use of cdevpriv
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Fri Sep 16 17:51:31 EDT 2016
Revision: 8136
http://svnweb.midnightbsd.org/src/?rev=8136
Author: laffer1
Date: 2016-09-16 17:51:31 -0400 (Fri, 16 Sep 2016)
Log Message:
-----------
strealine use of cdevpriv
Modified Paths:
--------------
trunk/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
trunk/sys/dev/drm/drm_fops.c
trunk/sys/dev/ksyms/ksyms.c
trunk/sys/fs/devfs/devfs_vnops.c
Modified: trunk/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
===================================================================
--- trunk/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c 2016-09-16 21:50:09 UTC (rev 8135)
+++ trunk/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c 2016-09-16 21:51:31 UTC (rev 8136)
@@ -15517,8 +15517,6 @@
kmem_free(state, 0);
#if __FreeBSD_version < 800039
dev->si_drv1 = NULL;
-#else
- devfs_clear_cdevpriv();
#endif
#endif
}
Modified: trunk/sys/dev/drm/drm_fops.c
===================================================================
--- trunk/sys/dev/drm/drm_fops.c 2016-09-16 21:50:09 UTC (rev 8135)
+++ trunk/sys/dev/drm/drm_fops.c 2016-09-16 21:51:31 UTC (rev 8136)
@@ -57,12 +57,6 @@
return ENOMEM;
}
- retcode = devfs_set_cdevpriv(priv, drm_close);
- if (retcode != 0) {
- free(priv, DRM_MEM_FILES);
- return retcode;
- }
-
DRM_LOCK();
priv->dev = dev;
priv->uid = p->td_ucred->cr_svuid;
@@ -76,7 +70,6 @@
/* shared code returns -errno */
retcode = -dev->driver->open(dev, priv);
if (retcode != 0) {
- devfs_clear_cdevpriv();
free(priv, DRM_MEM_FILES);
DRM_UNLOCK();
return retcode;
@@ -89,7 +82,12 @@
TAILQ_INSERT_TAIL(&dev->files, priv, link);
DRM_UNLOCK();
kdev->si_drv1 = dev;
- return 0;
+
+ retcode = devfs_set_cdevpriv(priv, drm_close);
+ if (retcode != 0)
+ drm_close(priv);
+
+ return (retcode);
}
Modified: trunk/sys/dev/ksyms/ksyms.c
===================================================================
--- trunk/sys/dev/ksyms/ksyms.c 2016-09-16 21:50:09 UTC (rev 8135)
+++ trunk/sys/dev/ksyms/ksyms.c 2016-09-16 21:51:31 UTC (rev 8136)
@@ -579,8 +579,6 @@
/* Unmap the buffer from the process address space. */
error = copyout_unmap(td, sc->sc_uaddr, sc->sc_usize);
- devfs_clear_cdevpriv();
-
return (error);
}
Modified: trunk/sys/fs/devfs/devfs_vnops.c
===================================================================
--- trunk/sys/fs/devfs/devfs_vnops.c 2016-09-16 21:50:09 UTC (rev 8135)
+++ trunk/sys/fs/devfs/devfs_vnops.c 2016-09-16 21:51:31 UTC (rev 8136)
@@ -1081,6 +1081,9 @@
error = dsw->d_fdopen(dev, ap->a_mode, td, fp);
else
error = dsw->d_open(dev, ap->a_mode, S_IFCHR, td);
+ /* cleanup any cdevpriv upon error */
+ if (error != 0)
+ devfs_clear_cdevpriv();
td->td_fpop = fpop;
vn_lock(vp, vlocked | LK_RETRY);
More information about the Midnightbsd-cvs
mailing list