2020-07-20 08:54:02

by Chao Yu

[permalink] [raw]
Subject: [PATCH] f2fs: compress: fix to avoid memory leak on cc->cpages

Memory allocated for storing compressed pages' poitner should be
released after f2fs_write_compressed_pages(), otherwise it will
cause memory leak issue.

Signed-off-by: Chao Yu <[email protected]>
---
fs/f2fs/compress.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/fs/f2fs/compress.c b/fs/f2fs/compress.c
index 3a847bc36748..a20c9f3272af 100644
--- a/fs/f2fs/compress.c
+++ b/fs/f2fs/compress.c
@@ -1385,6 +1385,8 @@ int f2fs_write_multi_pages(struct compress_ctx *cc,
err = f2fs_write_compressed_pages(cc, submitted,
wbc, io_type);
cops->destroy_compress_ctx(cc);
+ kfree(cc->cpages);
+ cc->cpages = NULL;
if (!err)
return 0;
f2fs_bug_on(F2FS_I_SB(cc->inode), err != -EAGAIN);
--
2.26.2


2020-07-20 12:29:44

by Chao Yu

[permalink] [raw]
Subject: Re: [PATCH] f2fs: compress: fix to avoid memory leak on cc->cpages

On 2020/7/20 16:52, Chao Yu wrote:
> Memory allocated for storing compressed pages' poitner should be
> released after f2fs_write_compressed_pages(), otherwise it will
> cause memory leak issue.

Jaegeuk,

Please help to add below tag when merging, thanks.

Fixes: 4c8ff7095bef ("f2fs: support data compression")

>
> Signed-off-by: Chao Yu <[email protected]>
> ---
> fs/f2fs/compress.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/fs/f2fs/compress.c b/fs/f2fs/compress.c
> index 3a847bc36748..a20c9f3272af 100644
> --- a/fs/f2fs/compress.c
> +++ b/fs/f2fs/compress.c
> @@ -1385,6 +1385,8 @@ int f2fs_write_multi_pages(struct compress_ctx *cc,
> err = f2fs_write_compressed_pages(cc, submitted,
> wbc, io_type);
> cops->destroy_compress_ctx(cc);
> + kfree(cc->cpages);
> + cc->cpages = NULL;
> if (!err)
> return 0;
> f2fs_bug_on(F2FS_I_SB(cc->inode), err != -EAGAIN);
>