FAILED: patch "[PATCH] staging: erofs: avoid endless loop of invalid lookback" 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 598bb8913d015150b7734b55443c0e53e7189fc7 Mon Sep 17 00:00:00 2001
From: Gao Xiang <[email protected]>
Date: Mon, 19 Aug 2019 18:34:26 +0800
Subject: [PATCH] staging: erofs: avoid endless loop of invalid lookback
distance 0
As reported by erofs-utils fuzzer, Lookback distance should be a positive number, so it should be actually looked back rather than spinning.
Fixes 02827e1796b3 ("staging: erofs: add erofs_map_blocks_iter")
Cc <[email protected]> # 4.19+
Signed-off-by Gao Xiang <[email protected]>
Reviewed-by Chao Yu <[email protected]>
Signed-off-by Greg Kroah-Hartman <[email protected]>
drivers/staging/erofs/zmap.c +6 -0
@@ -350,6 +350,12 @@ static int vle_extent_lookback(struct z_erofs_maprecorder *m,switch (m->type) {case Z_EROFS_VLE_CLUSTER_TYPE_NONHEAD : +if (unlikely (!m->delta[0 ])) { +errln ("invalid lookback distance 0 at nid %llu" , + vi->nid); +DBG_BUGON (1 ); +return -EFSCORRUPTED ; + }return vle_extent_lookback (m, m->delta[0 ]);case Z_EROFS_VLE_CLUSTER_TYPE_PLAIN : map->m_flags &= ~EROFS_MAP_ZIPPED ;