⬢ DragonFlyBSD Kernel Audit
DF-3236 / fix.diff
← back to finding ↓ download raw
--- a/sys/vfs/devfs/devfs_core.c
+++ b/sys/vfs/devfs/devfs_core.c
@@ -968,7 +968,8 @@ devfs_inode_to_vnode(struct mount *mp, ino_t target)
 	msg->mdv_ino.ino = target;
 	devfs_msg_send_sync(DEVFS_INODE_TO_VNODE, msg);
 	vp = msg->mdv_ino.vp;
-	vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
+	if (vp != NULL)
+		vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
 	devfs_msg_put(msg);
 
 	return vp;