Messages in this thread Patch in this message | | | Subject | Re: [PATCH v2] f2fs: use kfree() instead of kvfree() to free superblock data | From | Chao Yu <> | Date | Tue, 9 Jun 2020 09:22:11 +0800 |
| |
Hello Denis,
On 2020/6/8 23:41, Denis Efremov wrote: > Use kfree() instead of kvfree() to free super in read_raw_super_block() > because the memory is allocated with kzalloc() in the function. > Use kfree() instead of kvfree() to free sbi in f2fs_fill_super() and > f2fs_put_super() because the memory is allocated with kzalloc(). > > Fixes: 5222595d093e ("f2fs: use kvmalloc, if kmalloc is failed") > Signed-off-by: Denis Efremov <efremov@linux.com>
I found two missing cases, so how about this?
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c index f3c151169542..f913a63e93f0 100644 --- a/fs/f2fs/super.c +++ b/fs/f2fs/super.c @@ -1206,7 +1206,7 @@ static void f2fs_put_super(struct super_block *sb) sb->s_fs_info = NULL; if (sbi->s_chksum_driver) crypto_free_shash(sbi->s_chksum_driver); - kvfree(sbi->raw_super); + kfree(sbi->raw_super);
destroy_device_list(sbi); f2fs_destroy_xattr_caches(sbi); @@ -1221,7 +1221,7 @@ static void f2fs_put_super(struct super_block *sb) #ifdef CONFIG_UNICODE utf8_unload(sbi->s_encoding); #endif - kvfree(sbi); + kfree(sbi); }
int f2fs_sync_fs(struct super_block *sb, int sync) @@ -3101,7 +3101,7 @@ static int read_raw_super_block(struct f2fs_sb_info *sbi,
/* No valid superblock */ if (!*raw_super) - kvfree(super); + kfree(super); else err = 0;
@@ -3779,11 +3779,11 @@ static int f2fs_fill_super(struct super_block *sb, void *data, int silent) #endif kvfree(options); free_sb_buf: - kvfree(raw_super); + kfree(raw_super); free_sbi: if (sbi->s_chksum_driver) crypto_free_shash(sbi->s_chksum_driver); - kvfree(sbi); + kfree(sbi);
/* give only one another chance */ if (retry_cnt > 0 && skip_recovery) {
| |