switch btrfs_ioctl_clone() to fget_light()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -2350,7 +2350,7 @@ static noinline long btrfs_ioctl_clone(struct file *file, unsigned long srcfd,
|
|||||||
struct btrfs_key key;
|
struct btrfs_key key;
|
||||||
u32 nritems;
|
u32 nritems;
|
||||||
int slot;
|
int slot;
|
||||||
int ret;
|
int ret, fput_needed;
|
||||||
u64 len = olen;
|
u64 len = olen;
|
||||||
u64 bs = root->fs_info->sb->s_blocksize;
|
u64 bs = root->fs_info->sb->s_blocksize;
|
||||||
u64 hint_byte;
|
u64 hint_byte;
|
||||||
@@ -2376,7 +2376,7 @@ static noinline long btrfs_ioctl_clone(struct file *file, unsigned long srcfd,
|
|||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
src_file = fget(srcfd);
|
src_file = fget_light(srcfd, &fput_needed);
|
||||||
if (!src_file) {
|
if (!src_file) {
|
||||||
ret = -EBADF;
|
ret = -EBADF;
|
||||||
goto out_drop_write;
|
goto out_drop_write;
|
||||||
@@ -2724,7 +2724,7 @@ out_unlock:
|
|||||||
vfree(buf);
|
vfree(buf);
|
||||||
btrfs_free_path(path);
|
btrfs_free_path(path);
|
||||||
out_fput:
|
out_fput:
|
||||||
fput(src_file);
|
fput_light(src_file, fput_needed);
|
||||||
out_drop_write:
|
out_drop_write:
|
||||||
mnt_drop_write_file(file);
|
mnt_drop_write_file(file);
|
||||||
return ret;
|
return ret;
|
||||||
|
Reference in New Issue
Block a user