Thread (3 messages) 3 messages, 2 authors, 2020-06-29

Re: [PATCH 4.19.y] erofs: fix partially uninitialized misuse in z_erofs_onlinepage_fixup

From: Gao Xiang <hidden>
Date: 2020-06-29 00:33:24

Hi Greg, Sasha

On Thu, Jun 25, 2020 at 01:19:39PM +0800, Gao Xiang via Linux-erofs wrote:
From: Gao Xiang <redacted>

commit 3c597282887fd55181578996dca52ce697d985a5 upstream.

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 <redacted>
Fixes: 3883a79abd02 ("staging: erofs: introduce VLE decompression support")
Cc: <redacted> # 4.19+
Reviewed-by: Chao Yu <redacted>
Link: https://lore.kernel.org/r/20200618234349.22553-1-hsiangkao@aol.com (local)
Signed-off-by: Gao Xiang <redacted>
---
This fix has been merged into Linus's tree just now (today).
Since the patch could not directly be applied to 4.19, manually handle this.
Could this patch be applied to all next version stable
versions (4.19, 5.4 as well as 5.7) after 5.8-rc3 is out...

It's some important fix on specific compiler options
and should be fixed ASAP.

Without this patch, unexpected behaviors would happen
conditionally and break the filesystem from working.
Apart from 4.19 patch, both 5.4 and 5.7 patches are
quite trivial ones (can be cherry-picked directly).

Could kindly consider this and it's just a little
heads-up... Sorry for the noise if it's already in queue...
Thanks!

Thanks,
Gao Xiang
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help