提交 8319aa91 编写于 作者: A Al Viro

switch btrfs_ioctl_clone() to fget_light()

Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
上级 515e0d66
...@@ -2350,7 +2350,7 @@ static noinline long btrfs_ioctl_clone(struct file *file, unsigned long srcfd, ...@@ -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, ...@@ -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 @@ static noinline long btrfs_ioctl_clone(struct file *file, unsigned long srcfd, ...@@ -2724,7 +2724,7 @@ static noinline long btrfs_ioctl_clone(struct file *file, unsigned long srcfd,
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;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册