mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 04:02:20 +00:00
squashfs: squashfs_read_data need to check if the length is 0
When the length passed in is 0, the pagemap_scan_test_walk() caller should bail. This error causes at least a WARN_ON(). Link: https://lkml.kernel.org/r/20231116031352.40853-1-lizhi.xu@windriver.com Reported-by: syzbot+32d3767580a1ea339a81@syzkaller.appspotmail.com Closes: https://lkml.kernel.org/r/0000000000000526f2060a30a085@google.com Signed-off-by: Lizhi Xu <lizhi.xu@windriver.com> Reviewed-by: Phillip Lougher <phillip@squashfs.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
3f3cac5c0a
commit
eb66b8abae
@ -321,7 +321,7 @@ int squashfs_read_data(struct super_block *sb, u64 index, int length,
|
|||||||
TRACE("Block @ 0x%llx, %scompressed size %d\n", index - 2,
|
TRACE("Block @ 0x%llx, %scompressed size %d\n", index - 2,
|
||||||
compressed ? "" : "un", length);
|
compressed ? "" : "un", length);
|
||||||
}
|
}
|
||||||
if (length < 0 || length > output->length ||
|
if (length <= 0 || length > output->length ||
|
||||||
(index + length) > msblk->bytes_used) {
|
(index + length) > msblk->bytes_used) {
|
||||||
res = -EIO;
|
res = -EIO;
|
||||||
goto out;
|
goto out;
|
||||||
|
Loading…
Reference in New Issue
Block a user