From: Greg Kroah-Hartman Date: Fri, 27 Jan 2023 07:08:57 +0000 (+0100) Subject: 4.19-stable patches X-Git-Tag: v5.10.166~74 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4c35d58632f8ef151b72f8b277e62668376515e2;p=thirdparty%2Fkernel%2Fstable-queue.git 4.19-stable patches added patches: fs-reiserfs-remove-useless-new_opts-in-reiserfs_remount.patch --- diff --git a/queue-4.19/fs-reiserfs-remove-useless-new_opts-in-reiserfs_remount.patch b/queue-4.19/fs-reiserfs-remove-useless-new_opts-in-reiserfs_remount.patch new file mode 100644 index 00000000000..e3e957a8014 --- /dev/null +++ b/queue-4.19/fs-reiserfs-remove-useless-new_opts-in-reiserfs_remount.patch @@ -0,0 +1,56 @@ +From 81dedaf10c20959bdf5624f9783f408df26ba7a4 Mon Sep 17 00:00:00 2001 +From: Dongliang Mu +Date: Wed, 27 Oct 2021 22:34:41 +0800 +Subject: fs: reiserfs: remove useless new_opts in reiserfs_remount + +From: Dongliang Mu + +commit 81dedaf10c20959bdf5624f9783f408df26ba7a4 upstream. + +Since the commit c3d98ea08291 ("VFS: Don't use save/replace_mount_options +if not using generic_show_options") eliminates replace_mount_options +in reiserfs_remount, but does not handle the allocated new_opts, +it will cause memory leak in the reiserfs_remount. + +Because new_opts is useless in reiserfs_mount, so we fix this bug by +removing the useless new_opts in reiserfs_remount. + +Fixes: c3d98ea08291 ("VFS: Don't use save/replace_mount_options if not using generic_show_options") +Link: https://lore.kernel.org/r/20211027143445.4156459-1-mudongliangabcd@gmail.com +Signed-off-by: Dongliang Mu +Signed-off-by: Jan Kara +Signed-off-by: Fedor Pchelkin +Signed-off-by: Greg Kroah-Hartman +--- + fs/reiserfs/super.c | 6 ------ + 1 file changed, 6 deletions(-) + +--- a/fs/reiserfs/super.c ++++ b/fs/reiserfs/super.c +@@ -1443,7 +1443,6 @@ static int reiserfs_remount(struct super + unsigned long safe_mask = 0; + unsigned int commit_max_age = (unsigned int)-1; + struct reiserfs_journal *journal = SB_JOURNAL(s); +- char *new_opts; + int err; + char *qf_names[REISERFS_MAXQUOTAS]; + unsigned int qfmt = 0; +@@ -1451,10 +1450,6 @@ static int reiserfs_remount(struct super + int i; + #endif + +- new_opts = kstrdup(arg, GFP_KERNEL); +- if (arg && !new_opts) +- return -ENOMEM; +- + sync_filesystem(s); + reiserfs_write_lock(s); + +@@ -1605,7 +1600,6 @@ out_ok_unlocked: + out_err_unlock: + reiserfs_write_unlock(s); + out_err: +- kfree(new_opts); + return err; + } + diff --git a/queue-4.19/series b/queue-4.19/series index e1c8b664cba..127cecdf3c9 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -37,3 +37,4 @@ mmc-sdhci-esdhc-imx-correct-the-tuning-start-tap-and.patch netfilter-conntrack-do-not-renew-entry-stuck-in-tcp-.patch block-fix-and-cleanup-bio_check_ro.patch perf-env-do-not-return-pointers-to-local-variables.patch +fs-reiserfs-remove-useless-new_opts-in-reiserfs_remount.patch