summaryrefslogtreecommitdiff
path: root/fs/squashfs/export.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2021-04-22 09:39:48 +0300
committerPaolo Bonzini <pbonzini@redhat.com>2021-04-22 20:19:01 +0300
commitfd49e8ee70b306a003323a17bbcc0633f322c135 (patch)
treebe0e5f131ee5afdbaa7a6b5fc76bb36baad8c067 /fs/squashfs/export.c
parent238eca821cee90e91139da84ef4f38c74d7cf0d9 (diff)
parent7aef27f0b2a8a58c28578d3e0caf3f27e1a1c39c (diff)
downloadlinux-fd49e8ee70b306a003323a17bbcc0633f322c135.tar.xz
Merge branch 'kvm-sev-cgroup' into HEAD
Diffstat (limited to 'fs/squashfs/export.c')
-rw-r--r--fs/squashfs/export.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/squashfs/export.c b/fs/squashfs/export.c
index eb02072d28dd..723763746238 100644
--- a/fs/squashfs/export.c
+++ b/fs/squashfs/export.c
@@ -152,14 +152,18 @@ __le64 *squashfs_read_inode_lookup_table(struct super_block *sb,
start = le64_to_cpu(table[n]);
end = le64_to_cpu(table[n + 1]);
- if (start >= end || (end - start) > SQUASHFS_METADATA_SIZE) {
+ if (start >= end
+ || (end - start) >
+ (SQUASHFS_METADATA_SIZE + SQUASHFS_BLOCK_OFFSET)) {
kfree(table);
return ERR_PTR(-EINVAL);
}
}
start = le64_to_cpu(table[indexes - 1]);
- if (start >= lookup_table_start || (lookup_table_start - start) > SQUASHFS_METADATA_SIZE) {
+ if (start >= lookup_table_start ||
+ (lookup_table_start - start) >
+ (SQUASHFS_METADATA_SIZE + SQUASHFS_BLOCK_OFFSET)) {
kfree(table);
return ERR_PTR(-EINVAL);
}