diff options
Diffstat (limited to 'sys/fs/devfs/devfs_vnops.c')
-rw-r--r-- | sys/fs/devfs/devfs_vnops.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/fs/devfs/devfs_vnops.c b/sys/fs/devfs/devfs_vnops.c index b19a75a..1e9df72 100644 --- a/sys/fs/devfs/devfs_vnops.c +++ b/sys/fs/devfs/devfs_vnops.c @@ -793,10 +793,12 @@ devfs_open(struct vop_open_args *ap) * the file *. */ fp = ap->a_td->td_proc->p_fd->fd_ofiles[ap->a_fdidx]; + FILE_LOCK(fp); KASSERT(fp->f_ops == &badfileops, ("Could not vnode bypass device on fdops %p", fp->f_ops)); - fp->f_ops = &devfs_ops_f; fp->f_data = dev; + fp->f_ops = &devfs_ops_f; + FILE_UNLOCK(fp); return (error); } |