summaryrefslogtreecommitdiff
path: root/fs/ioctl.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2020-05-23 09:30:15 +0200
committerTheodore Ts'o <tytso@mit.edu>2020-06-03 23:16:55 -0400
commitc7d216e8c44cfc0b680d8c0de4f9bdafd92f7ef6 (patch)
tree144f957706d8bc5a569f7b5346c9f24f44feee47 /fs/ioctl.c
parent45dd052e67ad17c7a24874a783f41aeab15bc294 (diff)
downloadlwn-c7d216e8c44cfc0b680d8c0de4f9bdafd92f7ef6.tar.gz
lwn-c7d216e8c44cfc0b680d8c0de4f9bdafd92f7ef6.zip
fs: remove the access_ok() check in ioctl_fiemap
access_ok just checks we are fed a proper user pointer. We also do that in copy_to_user itself, so no need to do this early. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Ritesh Harjani <riteshh@linux.ibm.com> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Link: https://lore.kernel.org/r/20200523073016.2944131-9-hch@lst.de Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'fs/ioctl.c')
-rw-r--r--fs/ioctl.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/fs/ioctl.c b/fs/ioctl.c
index b16e962340db..d69786d1dd91 100644
--- a/fs/ioctl.c
+++ b/fs/ioctl.c
@@ -213,13 +213,9 @@ static int ioctl_fiemap(struct file *filp, struct fiemap __user *ufiemap)
fieinfo.fi_extents_max = fiemap.fm_extent_count;
fieinfo.fi_extents_start = ufiemap->fm_extents;
- if (fiemap.fm_extent_count != 0 &&
- !access_ok(fieinfo.fi_extents_start,
- fieinfo.fi_extents_max * sizeof(struct fiemap_extent)))
- return -EFAULT;
-
error = inode->i_op->fiemap(inode, &fieinfo, fiemap.fm_start,
fiemap.fm_length);
+
fiemap.fm_flags = fieinfo.fi_flags;
fiemap.fm_mapped_extents = fieinfo.fi_extents_mapped;
if (copy_to_user(ufiemap, &fiemap, sizeof(fiemap)))