erofs: fix general protection fault when reading fragment
authorYue Hu <huyue2@coolpad.com>
Fri, 21 Oct 2022 08:53:25 +0000 (16:53 +0800)
committerGao Xiang <hsiangkao@linux.alibaba.com>
Tue, 8 Nov 2022 06:44:13 +0000 (14:44 +0800)
commite5126de138caef0eedb3d6431059c0c5581a1a5d
treee0b57c7ab5e71c75bc2b47984829c948a6baded2
parentf0c4d9fc9cc9462659728d168387191387e903cc
erofs: fix general protection fault when reading fragment

As syzbot reported [1], the fragment feature sb flag is not set, so
packed_inode != NULL needs to be checked in z_erofs_read_fragment().

[1] https://lore.kernel.org/all/0000000000002e7a8905eb841ddd@google.com/

Reported-by: syzbot+3faecbfd845a895c04cb@syzkaller.appspotmail.com
Fixes: b15b2e307c3a ("erofs: support on-disk compressed fragments data")
Signed-off-by: Yue Hu <huyue2@coolpad.com>
Reviewed-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Link: https://lore.kernel.org/r/20221021085325.25788-1-zbestahu@gmail.com
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
fs/erofs/zdata.c