In the init_victim_secmap function, if the allocation of dirty_i->pinned_secmap fails, dirty_i->victim_secmap is not freed, which can cause a memory leak.
Signed-off-by: Yongpeng Yang <[email protected]> --- fs/f2fs/segment.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c index 78c3198a6308..1e784ea3dbb4 100644 --- a/fs/f2fs/segment.c +++ b/fs/f2fs/segment.c @@ -4971,8 +4971,10 @@ static int init_victim_secmap(struct f2fs_sb_info *sbi) return -ENOMEM; dirty_i->pinned_secmap = f2fs_kvzalloc(sbi, bitmap_size, GFP_KERNEL); - if (!dirty_i->pinned_secmap) + if (!dirty_i->pinned_secmap) { + kvfree(dirty_i->victim_secmap); return -ENOMEM; + } dirty_i->pinned_secmap_cnt = 0; dirty_i->enable_pin_section = true; -- 2.40.1 _______________________________________________ Linux-f2fs-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
