summaryrefslogtreecommitdiff
path: root/sys/fs
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2016-01-22 20:30:51 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2016-01-22 20:30:51 +0000
commit1a2dd035fbfb7a46f72d47cf179e3d87e8b48484 (patch)
treeb3670b6b08df7c03db033a42681a7a992947c9a2 /sys/fs
parentbe62a642f21f58f1eba49c2debec812e53dd036a (diff)
downloadsrc-test2-1a2dd035fbfb7a46f72d47cf179e3d87e8b48484.tar.gz
src-test2-1a2dd035fbfb7a46f72d47cf179e3d87e8b48484.zip
Notes
Diffstat (limited to 'sys/fs')
-rw-r--r--sys/fs/devfs/devfs_devs.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/fs/devfs/devfs_devs.c b/sys/fs/devfs/devfs_devs.c
index 40023c149cad..2c11fa4f07a9 100644
--- a/sys/fs/devfs/devfs_devs.c
+++ b/sys/fs/devfs/devfs_devs.c
@@ -304,6 +304,13 @@ devfs_vmkdir(struct devfs_mount *dmp, char *name, int namelen, struct devfs_dire
void
devfs_dirent_free(struct devfs_dirent *de)
{
+ struct vnode *vp;
+
+ vp = de->de_vnode;
+ mtx_lock(&devfs_de_interlock);
+ if (vp != NULL && vp->v_data == de)
+ vp->v_data = NULL;
+ mtx_unlock(&devfs_de_interlock);
free(de, M_DEVFS3);
}