aboutsummaryrefslogtreecommitdiff
path: root/sys/fs/fuse/fuse_vnops.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/fs/fuse/fuse_vnops.c')
-rw-r--r--sys/fs/fuse/fuse_vnops.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/fs/fuse/fuse_vnops.c b/sys/fs/fuse/fuse_vnops.c
index aead188276ec..b9e4e48e6dbd 100644
--- a/sys/fs/fuse/fuse_vnops.c
+++ b/sys/fs/fuse/fuse_vnops.c
@@ -861,7 +861,7 @@ fuse_vnop_copy_file_range(struct vop_copy_file_range_args *ap)
pid_t pid;
int err;
- if (mp != vnode_mount(outvp))
+ if (mp == NULL || mp != vnode_mount(outvp))
goto fallback;
if (incred->cr_uid != outcred->cr_uid)
@@ -870,6 +870,7 @@ fuse_vnop_copy_file_range(struct vop_copy_file_range_args *ap)
if (incred->cr_groups[0] != outcred->cr_groups[0])
goto fallback;
+ /* Caller busied mp, mnt_data can be safely accessed. */
if (fsess_not_impl(mp, FUSE_COPY_FILE_RANGE))
goto fallback;