summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorChao Yu <yuchao0@huawei.com>2020-03-26 17:42:26 +0800
committerJaegeuk Kim <jaegeuk@kernel.org>2020-04-03 10:21:31 -0700
commit8908e753109fd7abb4949a3d6118a9a5e3766ea0 (patch)
tree04797ae33134e092a4f25ac8a2f5dec108d0b0f7 /fs
parentfd26725f6eafa84cb112ee889b2765b57e1263d8 (diff)
downloadlinux-8908e753109fd7abb4949a3d6118a9a5e3766ea0.tar.bz2
f2fs: fix to verify tpage before releasing in f2fs_free_dic()
In below error path, tpages[i] could be NULL, fix to check it before releasing it. - f2fs_read_multi_pages - f2fs_alloc_dic - f2fs_free_dic Fixes: 61fbae2b2b12 ("f2fs: fix to avoid NULL pointer dereference") Signed-off-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/f2fs/compress.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/f2fs/compress.c b/fs/f2fs/compress.c
index ca4f54fbbd2e..df7b2d15eacd 100644
--- a/fs/f2fs/compress.c
+++ b/fs/f2fs/compress.c
@@ -1333,6 +1333,8 @@ void f2fs_free_dic(struct decompress_io_ctx *dic)
for (i = 0; i < dic->cluster_size; i++) {
if (dic->rpages[i])
continue;
+ if (!dic->tpages[i])
+ continue;
unlock_page(dic->tpages[i]);
put_page(dic->tpages[i]);
}