android_kernel_sony_sdm845/fs/squashfs
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Phillip Lougher 6b9882c69e Squashfs: Compute expected length from inode size rather than block length
[ Upstream commit a3f94cb99a854fa381fe7fadd97c4f61633717a5 ]

Previously in squashfs_readpage() when copying data into the page
cache, it used the length of the datablock read from the filesystem
(after decompression).  However, if the filesystem has been corrupted
this data block may be short, which will leave pages unfilled.

The fix for this is to compute the expected number of bytes to copy
from the inode size, and use this to detect if the block is short.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
Tested-by: Willy Tarreau <w@1wt.eu>
Cc: Анатолий Тросиненко <anatoly.trosinenko@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-09-05 09:20:03 +02:00
..
block.c squashfs: more metadata hardening 2018-08-06 16:23:03 +02:00
cache.c
decompressor.c
decompressor.h
decompressor_multi.c
decompressor_multi_percpu.c
decompressor_single.c
dir.c
export.c
file.c Squashfs: Compute expected length from inode size rather than block length 2018-09-05 09:20:03 +02:00
file_cache.c Squashfs: Compute expected length from inode size rather than block length 2018-09-05 09:20:03 +02:00
file_direct.c Squashfs: Compute expected length from inode size rather than block length 2018-09-05 09:20:03 +02:00
fragment.c squashfs: more metadata hardenings 2018-08-06 16:23:03 +02:00
id.c
inode.c
Kconfig
lz4_wrapper.c
lzo_wrapper.c
Makefile
namei.c
page_actor.c
page_actor.h
squashfs.h Squashfs: Compute expected length from inode size rather than block length 2018-09-05 09:20:03 +02:00
squashfs_fs.h
squashfs_fs_i.h
squashfs_fs_sb.h squashfs: more metadata hardenings 2018-08-06 16:23:03 +02:00
super.c squashfs: more metadata hardenings 2018-08-06 16:23:03 +02:00
symlink.c
xattr.c
xattr.h
xattr_id.c
xz_wrapper.c
zlib_wrapper.c