diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 1ae5860b30a31fd5bc2ccad61e611ccf9e2d5fa2..6ac9c8a3eb08b827fc904ebc3960f50260e9bcac 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -4543,6 +4543,7 @@ static int ext4_remount(struct super_block *sb, int *flags, char *data)
 			if (!old_opts.s_qf_names[i]) {
 				for (j = 0; j < i; j++)
 					kfree(old_opts.s_qf_names[j]);
+				kfree(orig_data);
 				return -ENOMEM;
 			}
 		} else