diff --git a/sys/fs/devfs/devfs_vnops.c b/sys/fs/devfs/devfs_vnops.c index c9e6ad105b5..8f03714d5f4 100644 --- a/sys/fs/devfs/devfs_vnops.c +++ b/sys/fs/devfs/devfs_vnops.c @@ -279,7 +279,12 @@ devfs_ioctl(ap) } */ *ap; { int error; + struct devfs_mount *dmp; + dmp = VFSTODEVFS(ap->a_vp->v_mount); + lockmgr(&dmp->dm_lock, LK_SHARED, 0, curthread); + devfs_populate(dmp); + lockmgr(&dmp->dm_lock, LK_RELEASE, 0, curthread); error = devfs_rules_ioctl(ap->a_vp->v_mount, ap->a_command, ap->a_data, ap->a_td); return (error);