[PATCH v2] erofs: fix partially uninitialized misuse in z_erofs_onlinepage_fixup

Chao Yu yuchao0 at huawei.com
Wed Jun 24 11:42:47 AEST 2020


On 2020/6/19 7:43, Gao Xiang wrote:
> From: Gao Xiang <hsiangkao at redhat.com>
> 
> 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-by: Hongyu Jin <hongyu.jin at unisoc.com>
> Fixes: 3883a79abd02 ("staging: erofs: introduce VLE decompression support")
> Cc: <stable at vger.kernel.org> # 4.19+
> Signed-off-by: Gao Xiang <hsiangkao at redhat.com>

Reviewed-by: Chao Yu <yuchao0 at huawei.com>

Thanks,


More information about the Linux-erofs mailing list