Use kfree() instead of kvfree() to free variables allocated
by match_strdup(). Because the memory is allocated with kmalloc
inside match_strdup().

Signed-off-by: Wang Xiaojun <wangxiaoju...@huawei.com>
---
 fs/f2fs/super.c | 36 ++++++++++++++++++------------------
 1 file changed, 18 insertions(+), 18 deletions(-)

diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index 20e56b0fa46a..6298d4cf3112 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -348,7 +348,7 @@ static int f2fs_set_qf_name(struct super_block *sb, int 
qtype,
        set_opt(sbi, QUOTA);
        return 0;
 errout:
-       kvfree(qname);
+       kfree(qname);
        return ret;
 }
 
@@ -360,7 +360,7 @@ static int f2fs_clear_qf_name(struct super_block *sb, int 
qtype)
                f2fs_err(sbi, "Cannot change journaled quota options when quota 
turned on");
                return -EINVAL;
        }
-       kvfree(F2FS_OPTION(sbi).s_qf_names[qtype]);
+       kfree(F2FS_OPTION(sbi).s_qf_names[qtype]);
        F2FS_OPTION(sbi).s_qf_names[qtype] = NULL;
        return 0;
 }
@@ -494,10 +494,10 @@ static int parse_options(struct super_block *sb, char 
*options, bool is_remount)
                        } else if (!strcmp(name, "sync")) {
                                F2FS_OPTION(sbi).bggc_mode = BGGC_MODE_SYNC;
                        } else {
-                               kvfree(name);
+                               kfree(name);
                                return -EINVAL;
                        }
-                       kvfree(name);
+                       kfree(name);
                        break;
                case Opt_disable_roll_forward:
                        set_opt(sbi, DISABLE_ROLL_FORWARD);
@@ -654,17 +654,17 @@ static int parse_options(struct super_block *sb, char 
*options, bool is_remount)
                        if (!strcmp(name, "adaptive")) {
                                if (f2fs_sb_has_blkzoned(sbi)) {
                                        f2fs_warn(sbi, "adaptive mode is not 
allowed with zoned block device feature");
-                                       kvfree(name);
+                                       kfree(name);
                                        return -EINVAL;
                                }
                                F2FS_OPTION(sbi).fs_mode = FS_MODE_ADAPTIVE;
                        } else if (!strcmp(name, "lfs")) {
                                F2FS_OPTION(sbi).fs_mode = FS_MODE_LFS;
                        } else {
-                               kvfree(name);
+                               kfree(name);
                                return -EINVAL;
                        }
-                       kvfree(name);
+                       kfree(name);
                        break;
                case Opt_io_size_bits:
                        if (args->from && match_int(args, &arg))
@@ -790,10 +790,10 @@ static int parse_options(struct super_block *sb, char 
*options, bool is_remount)
                        } else if (!strcmp(name, "fs-based")) {
                                F2FS_OPTION(sbi).whint_mode = WHINT_MODE_FS;
                        } else {
-                               kvfree(name);
+                               kfree(name);
                                return -EINVAL;
                        }
-                       kvfree(name);
+                       kfree(name);
                        break;
                case Opt_alloc:
                        name = match_strdup(&args[0]);
@@ -805,10 +805,10 @@ static int parse_options(struct super_block *sb, char 
*options, bool is_remount)
                        } else if (!strcmp(name, "reuse")) {
                                F2FS_OPTION(sbi).alloc_mode = ALLOC_MODE_REUSE;
                        } else {
-                               kvfree(name);
+                               kfree(name);
                                return -EINVAL;
                        }
-                       kvfree(name);
+                       kfree(name);
                        break;
                case Opt_fsync:
                        name = match_strdup(&args[0]);
@@ -822,10 +822,10 @@ static int parse_options(struct super_block *sb, char 
*options, bool is_remount)
                                F2FS_OPTION(sbi).fsync_mode =
                                                        FSYNC_MODE_NOBARRIER;
                        } else {
-                               kvfree(name);
+                               kfree(name);
                                return -EINVAL;
                        }
-                       kvfree(name);
+                       kfree(name);
                        break;
                case Opt_test_dummy_encryption:
                        ret = f2fs_set_test_dummy_encryption(sb, p, &args[0],
@@ -1250,7 +1250,7 @@ static void f2fs_put_super(struct super_block *sb)
        mempool_destroy(sbi->write_io_dummy);
 #ifdef CONFIG_QUOTA
        for (i = 0; i < MAXQUOTAS; i++)
-               kvfree(F2FS_OPTION(sbi).s_qf_names[i]);
+               kfree(F2FS_OPTION(sbi).s_qf_names[i]);
 #endif
        fscrypt_free_dummy_context(&F2FS_OPTION(sbi).dummy_enc_ctx);
        destroy_percpu_info(sbi);
@@ -1754,7 +1754,7 @@ static int f2fs_remount(struct super_block *sb, int 
*flags, char *data)
                                GFP_KERNEL);
                        if (!org_mount_opt.s_qf_names[i]) {
                                for (j = 0; j < i; j++)
-                                       kvfree(org_mount_opt.s_qf_names[j]);
+                                       kfree(org_mount_opt.s_qf_names[j]);
                                return -ENOMEM;
                        }
                } else {
@@ -1879,7 +1879,7 @@ static int f2fs_remount(struct super_block *sb, int 
*flags, char *data)
 #ifdef CONFIG_QUOTA
        /* Release old quota file names */
        for (i = 0; i < MAXQUOTAS; i++)
-               kvfree(org_mount_opt.s_qf_names[i]);
+               kfree(org_mount_opt.s_qf_names[i]);
 #endif
        /* Update the POSIXACL Flag */
        sb->s_flags = (sb->s_flags & ~SB_POSIXACL) |
@@ -1900,7 +1900,7 @@ static int f2fs_remount(struct super_block *sb, int 
*flags, char *data)
 #ifdef CONFIG_QUOTA
        F2FS_OPTION(sbi).s_jquota_fmt = org_mount_opt.s_jquota_fmt;
        for (i = 0; i < MAXQUOTAS; i++) {
-               kvfree(F2FS_OPTION(sbi).s_qf_names[i]);
+               kfree(F2FS_OPTION(sbi).s_qf_names[i]);
                F2FS_OPTION(sbi).s_qf_names[i] = org_mount_opt.s_qf_names[i];
        }
 #endif
@@ -3811,7 +3811,7 @@ static int f2fs_fill_super(struct super_block *sb, void 
*data, int silent)
 free_options:
 #ifdef CONFIG_QUOTA
        for (i = 0; i < MAXQUOTAS; i++)
-               kvfree(F2FS_OPTION(sbi).s_qf_names[i]);
+               kfree(F2FS_OPTION(sbi).s_qf_names[i]);
 #endif
        fscrypt_free_dummy_context(&F2FS_OPTION(sbi).dummy_enc_ctx);
        kvfree(options);
-- 
2.26.0.106.g9fadedd



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to