diff options
author | Jeff Layton <jlayton@redhat.com> | 2009-09-18 16:05:53 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2009-09-24 07:47:34 -0400 |
commit | f9098980ffea9c749622ff8ddf3b6d5831902a46 (patch) | |
tree | 043b5bbb89f394c5508534d67102e8a02f6f9c64 /fs/read_write.c | |
parent | 42cb56ae2ab67390da34906b27bedc3f2ff1393b (diff) |
vfs: remove redundant position check in do_sendfile
As Johannes Weiner pointed out, one of the range checks in do_sendfile
is redundant and is already checked in rw_verify_area.
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: Johannes Weiner <hannes@cmpxchg.org>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Robert Love <rlove@google.com>
Cc: Mandeep Singh Baines <msb@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/read_write.c')
-rw-r--r-- | fs/read_write.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/fs/read_write.c b/fs/read_write.c index 6c8c55dec2bc..3ac28987f22a 100644 --- a/fs/read_write.c +++ b/fs/read_write.c | |||
@@ -839,9 +839,6 @@ static ssize_t do_sendfile(int out_fd, int in_fd, loff_t *ppos, | |||
839 | max = min(in_inode->i_sb->s_maxbytes, out_inode->i_sb->s_maxbytes); | 839 | max = min(in_inode->i_sb->s_maxbytes, out_inode->i_sb->s_maxbytes); |
840 | 840 | ||
841 | pos = *ppos; | 841 | pos = *ppos; |
842 | retval = -EINVAL; | ||
843 | if (unlikely(pos < 0)) | ||
844 | goto fput_out; | ||
845 | if (unlikely(pos + count > max)) { | 842 | if (unlikely(pos + count > max)) { |
846 | retval = -EOVERFLOW; | 843 | retval = -EOVERFLOW; |
847 | if (pos >= max) | 844 | if (pos >= max) |