]> git.baikalelectronics.ru Git - kernel.git/commit
staging: erofs: fix error handling when failed to read compresssed data
authorGao Xiang <gaoxiang25@huawei.com>
Mon, 25 Mar 2019 03:40:07 +0000 (11:40 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 25 Mar 2019 20:51:17 +0000 (05:51 +0900)
commited03c97305d7ffbbef3f9697c7b52c8aed9d7cfd
tree76306fae2394cad6501f87669b831d1eec4739cb
parent298a9a4e833c1828249ebb338ae974b68992a0cf
staging: erofs: fix error handling when failed to read compresssed data

Complete read error handling paths for all three kinds of
compressed pages:

 1) For cache-managed pages, PG_uptodate will be checked since
    read_endio will unlock and SetPageUptodate for these pages;

 2) For inplaced pages, read_endio cannot SetPageUptodate directly
    since it should be used to mark the final decompressed data,
    PG_error will be set with page locked for IO error instead;

 3) For staging pages, PG_error is used, which is similar to
    what we do for inplaced pages.

Fixes: 1117b3581300 ("staging: erofs: introduce VLE decompression support")
Cc: <stable@vger.kernel.org> # 4.19+
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/erofs/unzip_vle.c