mirror of
https://github.com/freebsd/freebsd-src
synced 2024-07-24 03:37:16 +00:00
fuse_vnop_copy_file_range(): add safety
v_mount for unlocked vnode could be NULL, check for it. Explain why it is safe to access fs-specific data for mp if it is read as non-NULL. Reviewed by: asomers, jah Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D42625
This commit is contained in:
parent
318c56714a
commit
4c6cded216
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in a new issue