linux/fs/erofs
Gao Xiang 3c59728288 erofs: fix partially uninitialized misuse in z_erofs_onlinepage_fixup
Hongyu reported "id != index" in z_erofs_onlinepage_fixup() with
specific aarch64 environment easily, which wasn't shown before.

After digging into that, I found that high 32 bits of page->private
was set to 0xaaaaaaaa rather than 0 (due to z_erofs_onlinepage_init
behavior with specific compiler options). Actually we only use low
32 bits to keep the page information since page->private is only 4
bytes on most 32-bit platforms. However z_erofs_onlinepage_fixup()
uses the upper 32 bits by mistake.

Let's fix it now.

Reported-and-tested-by: Hongyu Jin <hongyu.jin@unisoc.com>
Fixes: 3883a79abd ("staging: erofs: introduce VLE decompression support")
Cc: <stable@vger.kernel.org> # 4.19+
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Link: https://lore.kernel.org/r/20200618234349.22553-1-hsiangkao@aol.com
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>
2020-06-24 09:47:44 +08:00
..
Kconfig
Makefile
compress.h
data.c Changes since last update: 2020-06-02 20:16:55 -07:00
decompressor.c mm: remove the prot argument from vm_map_ram 2020-06-02 10:59:11 -07:00
dir.c
erofs_fs.h
inode.c erofs: code cleanup by removing ifdef macro surrounding 2020-05-27 16:46:20 +08:00
internal.h erofs: convert to use the new mount fs_context api 2020-05-29 18:57:58 +08:00
namei.c erofs: code cleanup by removing ifdef macro surrounding 2020-05-27 16:46:20 +08:00
super.c erofs: convert to use the new mount fs_context api 2020-05-29 18:57:58 +08:00
tagptr.h
utils.c
xattr.c erofs: convert to use the new mount fs_context api 2020-05-29 18:57:58 +08:00
xattr.h erofs: code cleanup by removing ifdef macro surrounding 2020-05-27 16:46:20 +08:00
zdata.c Changes since last update: 2020-06-02 20:16:55 -07:00
zdata.h erofs: fix partially uninitialized misuse in z_erofs_onlinepage_fixup 2020-06-24 09:47:44 +08:00
zmap.c
zpvec.h