All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] fs: reiserfs: remove useless new_opts in reiserfs_remount
@ 2021-10-27 14:34 Dongliang Mu
  2021-10-27 14:45 ` Jan Kara
  0 siblings, 1 reply; 2+ messages in thread
From: Dongliang Mu @ 2021-10-27 14:34 UTC (permalink / raw)
  To: Jan Kara, Dongliang Mu, Miklos Szeredi, Yu Kuai, Al Viro, David Howells
  Cc: reiserfs-devel, linux-kernel

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")
Signed-off-by: Dongliang Mu <mudongliangabcd@gmail.com>
---
 fs/reiserfs/super.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c
index 58481f8d63d5..f7b05c6b3dcf 100644
--- a/fs/reiserfs/super.c
+++ b/fs/reiserfs/super.c
@@ -1437,7 +1437,6 @@ static int reiserfs_remount(struct super_block *s, int *mount_flags, char *arg)
 	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;
@@ -1445,10 +1444,6 @@ static int reiserfs_remount(struct super_block *s, int *mount_flags, char *arg)
 	int i;
 #endif
 
-	new_opts = kstrdup(arg, GFP_KERNEL);
-	if (arg && !new_opts)
-		return -ENOMEM;
-
 	sync_filesystem(s);
 	reiserfs_write_lock(s);
 
@@ -1599,7 +1594,6 @@ static int reiserfs_remount(struct super_block *s, int *mount_flags, char *arg)
 out_err_unlock:
 	reiserfs_write_unlock(s);
 out_err:
-	kfree(new_opts);
 	return err;
 }
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] fs: reiserfs: remove useless new_opts in reiserfs_remount
  2021-10-27 14:34 [PATCH] fs: reiserfs: remove useless new_opts in reiserfs_remount Dongliang Mu
@ 2021-10-27 14:45 ` Jan Kara
  0 siblings, 0 replies; 2+ messages in thread
From: Jan Kara @ 2021-10-27 14:45 UTC (permalink / raw)
  To: Dongliang Mu
  Cc: Jan Kara, Miklos Szeredi, Yu Kuai, Al Viro, David Howells,
	reiserfs-devel, linux-kernel

On Wed 27-10-21 22:34:41, Dongliang Mu wrote:
> 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")
> Signed-off-by: Dongliang Mu <mudongliangabcd@gmail.com>

Thanks. I've added the patch to my tree.

								Honza

> ---
>  fs/reiserfs/super.c | 6 ------
>  1 file changed, 6 deletions(-)
> 
> diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c
> index 58481f8d63d5..f7b05c6b3dcf 100644
> --- a/fs/reiserfs/super.c
> +++ b/fs/reiserfs/super.c
> @@ -1437,7 +1437,6 @@ static int reiserfs_remount(struct super_block *s, int *mount_flags, char *arg)
>  	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;
> @@ -1445,10 +1444,6 @@ static int reiserfs_remount(struct super_block *s, int *mount_flags, char *arg)
>  	int i;
>  #endif
>  
> -	new_opts = kstrdup(arg, GFP_KERNEL);
> -	if (arg && !new_opts)
> -		return -ENOMEM;
> -
>  	sync_filesystem(s);
>  	reiserfs_write_lock(s);
>  
> @@ -1599,7 +1594,6 @@ static int reiserfs_remount(struct super_block *s, int *mount_flags, char *arg)
>  out_err_unlock:
>  	reiserfs_write_unlock(s);
>  out_err:
> -	kfree(new_opts);
>  	return err;
>  }
>  
> -- 
> 2.25.1
> 
-- 
Jan Kara <jack@suse.com>
SUSE Labs, CR

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-10-27 14:45 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-27 14:34 [PATCH] fs: reiserfs: remove useless new_opts in reiserfs_remount Dongliang Mu
2021-10-27 14:45 ` Jan Kara

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.