Commit 22762711 authored by Zev Weiss's avatar Zev Weiss Committed by Al Viro

fs: avoid fdput() after failed fdget() in vfs_dedupe_file_range()

It's a fairly inconsequential bug, since fdput() won't actually try to
fput() the file due to fd.flags (and thus FDPUT_FPUT) being zero in
the failure case, but most other vfs code takes steps to avoid this.
Signed-off-by: default avatarZev Weiss <zev@bewilderbeest.net>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 60cc43fc
......@@ -2023,7 +2023,7 @@ int vfs_dedupe_file_range(struct file *file, struct file_dedupe_range *same)
ret = mnt_want_write_file(dst_file);
if (ret) {
info->status = ret;
goto next_loop;
goto next_fdput;
}
dst_off = info->dest_offset;
......@@ -2058,9 +2058,9 @@ int vfs_dedupe_file_range(struct file *file, struct file_dedupe_range *same)
next_file:
mnt_drop_write_file(dst_file);
next_loop:
next_fdput:
fdput(dst_fd);
next_loop:
if (fatal_signal_pending(current))
goto out;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment