From: Greg Kroah-Hartman Date: Fri, 27 Jan 2023 07:08:39 +0000 (+0100) Subject: 4.14-stable patches X-Git-Tag: v5.10.166~75 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8bc0abca577b5777b5d7ab6061cefa923ddf2bd7;p=thirdparty%2Fkernel%2Fstable-queue.git 4.14-stable patches added patches: fs-reiserfs-remove-useless-new_opts-in-reiserfs_remount.patch --- diff --git a/queue-4.14/fs-reiserfs-remove-useless-new_opts-in-reiserfs_remount.patch b/queue-4.14/fs-reiserfs-remove-useless-new_opts-in-reiserfs_remount.patch new file mode 100644 index 00000000000..e3e957a8014 --- /dev/null +++ b/queue-4.14/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.14/series b/queue-4.14/series index 20b016244f0..d0fd67c1721 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -20,3 +20,4 @@ hid-betop-check-shape-of-output-reports.patch w1-fix-deadloop-in-__w1_remove_master_device.patch w1-fix-warning-after-calling-w1_process.patch comedi-adv_pci1760-fix-pwm-instruction-handling.patch +fs-reiserfs-remove-useless-new_opts-in-reiserfs_remount.patch