mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
staging: erofs: add two missing erofs_workgroup_put for corrupted images
commit138e1a0990upstream. As reported by erofs-utils fuzzer, these error handling path will be entered to handle corrupted images. Lack of erofs_workgroup_puts will cause unmounting unsuccessfully. Fix these return values to EFSCORRUPTED as well. Fixes:3883a79abd("staging: erofs: introduce VLE decompression support") Cc: <stable@vger.kernel.org> # 4.19+ Signed-off-by: Gao Xiang <gaoxiang25@huawei.com> Reviewed-by: Chao Yu <yuchao0@huawei.com> Link: https://lore.kernel.org/r/20190819103426.87579-4-gaoxiang25@huawei.com [ Gao Xiang: Older kernel versions don't have length validity check and EFSCORRUPTED, thus backport pageofs check for now. ] Signed-off-by: Gao Xiang <gaoxiang25@huawei.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
596bbc4e0e
commit
8b4341f9b8
@@ -311,7 +311,11 @@ z_erofs_vle_work_lookup(struct super_block *sb,
|
||||
/* if multiref is disabled, `primary' is always true */
|
||||
primary = true;
|
||||
|
||||
DBG_BUGON(work->pageofs != pageofs);
|
||||
if (work->pageofs != pageofs) {
|
||||
DBG_BUGON(1);
|
||||
erofs_workgroup_put(egrp);
|
||||
return ERR_PTR(-EIO);
|
||||
}
|
||||
|
||||
/*
|
||||
* lock must be taken first to avoid grp->next == NIL between
|
||||
|
||||
Reference in New Issue
Block a user