+1
−1
+13
−10
Loading
stable inclusion from stable-v6.6.14 commit 823ba1d2106019ddf195287ba53057aee33cf724 category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/I932VX CVE: CVE-2024-26590 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=823ba1d2106019ddf195287ba53057aee33cf724 -------------------------------- [ Upstream commit 118a8cf504d7dfa519562d000f423ee3ca75d2c4 ] EROFS can select compression algorithms on a per-file basis, and each per-file compression algorithm needs to be marked in the on-disk superblock for initialization. However, syzkaller can generate inconsistent crafted images that use an unsupported algorithmtype for specific inodes, e.g. use MicroLZMA algorithmtype even it's not set in `sbi->available_compr_algs`. This can lead to an unexpected "BUG: kernel NULL pointer dereference" if the corresponding decompressor isn't built-in. Fix this by checking against `sbi->available_compr_algs` for each m_algorithmformat request. Incorrect !erofs_sb_has_compr_cfgs preset bitmap is now fixed together since it was harmless previously. Reported-by:<bugreport@ubisectech.com> Fixes: 8f899262 ("erofs: get compression algorithms directly on mapping") Fixes: 622ceadd ("erofs: lzma compression support") Reviewed-by:
Yue Hu <huyue2@coolpad.com> Link: https://lore.kernel.org/r/20240113150602.1471050-1-hsiangkao@linux.alibaba.com Signed-off-by:
Gao Xiang <hsiangkao@linux.alibaba.com> Signed-off-by:
Sasha Levin <sashal@kernel.org> Signed-off-by:
Baokun Li <libaokun1@huawei.com>