ext4: check allocation failure when duplicating "data" in ext4_remount()
authorChengguang Xu <cgxu519@gmx.com>
Sun, 29 Jul 2018 19:51:54 +0000 (15:51 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Sun, 29 Jul 2018 19:51:54 +0000 (15:51 -0400)
There is no check for allocation failure when duplicating
"data" in ext4_remount(). Check for failure and return
error -ENOMEM in this case.

Signed-off-by: Chengguang Xu <cgxu519@gmx.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Andreas Dilger <adilger@dilger.ca>
fs/ext4/super.c

index 3e64d8d..d4a218b 100644 (file)
@@ -5101,6 +5101,9 @@ static int ext4_remount(struct super_block *sb, int *flags, char *data)
 #endif
        char *orig_data = kstrdup(data, GFP_KERNEL);
 
+       if (data && !orig_data)
+               return -ENOMEM;
+
        /* Store the original options */
        old_sb_flags = sb->s_flags;
        old_opts.s_mount_opt = sbi->s_mount_opt;