diff --git a/fs/btrfs/zlib.c b/fs/btrfs/zlib.c index 441b81a3e54568d5e93db4be02f0e8fdec58dcb7..0ed90ccd81eb1ab73bde7fda2788bd3f542f64ab 100644 --- a/fs/btrfs/zlib.c +++ b/fs/btrfs/zlib.c @@ -250,6 +250,7 @@ static int zlib_decompress_biovec(struct list_head *ws, struct page **pages_in, if (Z_OK != zlib_inflateInit2(&workspace->strm, wbits)) { pr_warn("BTRFS: inflateInit failed\n"); + kunmap(pages_in[page_in_index]); return -EIO; } while (workspace->strm.total_in < srclen) {