Index: sys/fs/devfs/devfs_vnops.c =================================================================== --- sys/fs/devfs/devfs_vnops.c +++ sys/fs/devfs/devfs_vnops.c @@ -995,11 +995,17 @@ cdev = NULL; DEVFS_DMP_HOLD(dmp); sx_xunlock(&dmp->dm_lock); - sx_slock(&clone_drain_lock); - EVENTHANDLER_INVOKE(dev_clone, - td->td_ucred, pname, strlen(pname), &cdev); - sx_sunlock(&clone_drain_lock); - + /* + * We don't want to invoke clone operations from mode changes, + * for instance, so we only invoke dev_clone handlers if the + * caller intends to open. + */ + if ((flags & ISOPEN) != 0) { + sx_slock(&clone_drain_lock); + EVENTHANDLER_INVOKE(dev_clone, + td->td_ucred, pname, strlen(pname), &cdev); + sx_sunlock(&clone_drain_lock); + } if (cdev == NULL) sx_xlock(&dmp->dm_lock); else if (devfs_populate_vp(dvp) != 0) {