mirror of
https://github.com/Dasharo/linux.git
synced 2026-03-06 15:25:10 -08:00
filemap: filemap_read() should check that the offset is positive or zero
We do check that the read offset is less than the filesystem limit, however for good measure we should also check that it is positive or zero, and return EINVAL if that is not the case. Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com> Link: https://lore.kernel.org/r/482ee0b8a30b62324adb9f7c551a99926f037393.1726257832.git.trond.myklebust@hammerspace.com Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
committed by
Christian Brauner
parent
2b2b1a20db
commit
9d926f10b7
@@ -2620,6 +2620,8 @@ ssize_t filemap_read(struct kiocb *iocb, struct iov_iter *iter,
|
||||
loff_t isize, end_offset;
|
||||
loff_t last_pos = ra->prev_pos;
|
||||
|
||||
if (unlikely(iocb->ki_pos < 0))
|
||||
return -EINVAL;
|
||||
if (unlikely(iocb->ki_pos >= inode->i_sb->s_maxbytes))
|
||||
return 0;
|
||||
if (unlikely(!iov_iter_count(iter)))
|
||||
|
||||
Reference in New Issue
Block a user