FAILED: patch "[PATCH] staging: erofs: add two missing erofs_workgroup_put for" failed to apply to 4.19-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 4.19-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 138e1a0990e80db486ab9f6c06bd5c01f9a97999 Mon Sep 17 00:00:00 2001
From: Gao Xiang <[email protected]>
Date: Mon, 19 Aug 2019 18:34:23 +0800
Subject: [PATCH] staging: erofs: add two missing erofs_workgroup_put for
corrupted images
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.
drivers/staging/erofs/zdata.c +4 -2
@@ -357,14 +357,16 @@ static struct z_erofs_collection *cllookup(struct z_erofs_collector *clt, cl =z_erofs_primarycollection (pcl);if (unlikely (cl->pageofs != (map->m_la & ~PAGE_MASK ))) {DBG_BUGON (1 ); -return ERR_PTR (-EIO ); +erofs_workgroup_put (grp); +return ERR_PTR (-EFSCORRUPTED ); } length =READ_ONCE (pcl->length);if (length &Z_EROFS_PCLUSTER_FULL_LENGTH ) {if ((map->m_llen <<Z_EROFS_PCLUSTER_LENGTH_BIT ) > length) {DBG_BUGON (1 ); -return ERR_PTR (-EIO ); +erofs_workgroup_put (grp); +return ERR_PTR (-EFSCORRUPTED ); } }else {unsigned int llen = map->m_llen <<Z_EROFS_PCLUSTER_LENGTH_BIT ;