vfs: ioctl: prevent double-fetch in dedupe ioctl

This prevents a double-fetch from user space that can lead to to an
undersized allocation and heap overflow.

Fixes: 54dbc15172 ("vfs: hoist the btrfs deduplication ioctl to the vfs")
Signed-off-by: Scott Bauer <sbauer@plzdonthack.me>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Scott Bauer 2016-07-27 19:11:29 -06:00 committed by Linus Torvalds
parent 884316deb4
commit 10eec60ce7
1 changed files with 1 additions and 0 deletions

View File

@ -590,6 +590,7 @@ static long ioctl_file_dedupe_range(struct file *file, void __user *arg)
goto out; goto out;
} }
same->dest_count = count;
ret = vfs_dedupe_file_range(file, same); ret = vfs_dedupe_file_range(file, same);
if (ret) if (ret)
goto out; goto out;