diff options
author | Christoph Hellwig <hch@lst.de> | 2020-05-23 09:30:15 +0200 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2020-06-03 23:16:55 -0400 |
commit | c7d216e8c44cfc0b680d8c0de4f9bdafd92f7ef6 (patch) | |
tree | 144f957706d8bc5a569f7b5346c9f24f44feee47 /fs/ioctl.c | |
parent | 45dd052e67ad17c7a24874a783f41aeab15bc294 (diff) | |
download | lwn-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.c | 6 |
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))) |