f2fs: deallocate compressed pages when error happens
authorJaegeuk Kim <jaegeuk@kernel.org>
Mon, 30 Aug 2021 18:37:32 +0000 (11:37 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 18 Sep 2021 11:40:16 +0000 (13:40 +0200)
commitd04925fb8d7081108fba1ea21ce7a6d14e64eabd
treec2b6972f16e12ca0a584f6145e70c403c0b320f8
parent4b71928e5c547e774cb4767da0959f9970a4f0f0
f2fs: deallocate compressed pages when error happens

[ Upstream commit 827f02842e40ea2e00f401e8f4cb1bccf3b8cd86 ]

In f2fs_write_multi_pages(), f2fs_compress_pages() allocates pages for
compression work in cc->cpages[]. Then, f2fs_write_compressed_pages() initiates
bio submission. But, if there's any error before submitting the IOs like early
f2fs_cp_error(), previously it didn't free cpages by f2fs_compress_free_page().
Let's fix memory leak by putting that just before deallocating cc->cpages.

Fixes: 4c8ff7095bef ("f2fs: support data compression")
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/f2fs/compress.c