lkml.org 
[lkml]   [2022]   [Sep]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Patch "net: mvpp2: debugfs: fix memory leak when using debugfs_lookup()" has been added to the 5.10-stable tree
On Tue, Sep 20, 2022 at 05:46:25PM -0400, Sasha Levin wrote:
> This is a note to let you know that I've just added the patch titled
>
> net: mvpp2: debugfs: fix memory leak when using debugfs_lookup()
>
> to the 5.10-stable tree which can be found at:
> http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
>
> The filename of the patch is:
> net-mvpp2-debugfs-fix-memory-leak-when-using-debugfs.patch
> and it can be found in the queue-5.10 subdirectory.
>
> If you, or anyone else, feels it should not be added to the stable tree,
> please let <stable@vger.kernel.org> know about it.
>
>
>
> commit 24f9e4af2b16c42327cde7198834a5d58aacb2f8
> Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Date: Fri Sep 2 15:41:11 2022 +0200
>
> net: mvpp2: debugfs: fix memory leak when using debugfs_lookup()
>
> [ Upstream commit fe2c9c61f668cde28dac2b188028c5299cedcc1e ]
>
> When calling debugfs_lookup() the result must have dput() called on it,
> otherwise the memory will leak over time. Fix this up to be much
> simpler logic and only create the root debugfs directory once when the
> driver is first accessed. That resolves the memory leak and makes
> things more obvious as to what the intent is.
>
> Cc: Marcin Wojtas <mw@semihalf.com>
> Cc: Russell King <linux@armlinux.org.uk>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Eric Dumazet <edumazet@google.com>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: Paolo Abeni <pabeni@redhat.com>
> Cc: netdev@vger.kernel.org
> Cc: stable <stable@kernel.org>
> Fixes: 21da57a23125 ("net: mvpp2: add a debugfs interface for the Header Parser")
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Signed-off-by: David S. Miller <davem@davemloft.net>
> Signed-off-by: Sasha Levin <sashal@kernel.org>
>
> diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_debugfs.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_debugfs.c
> index 4a3baa7e0142..0eec05d905eb 100644
> --- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_debugfs.c
> +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_debugfs.c
> @@ -700,10 +700,10 @@ void mvpp2_dbgfs_cleanup(struct mvpp2 *priv)
>
> void mvpp2_dbgfs_init(struct mvpp2 *priv, const char *name)
> {
> - struct dentry *mvpp2_dir, *mvpp2_root;
> + static struct dentry *mvpp2_root;
> + struct dentry *mvpp2_dir;
> int ret, i;
>
> - mvpp2_root = debugfs_lookup(MVPP2_DRIVER_NAME, NULL);
> if (!mvpp2_root)
> mvpp2_root = debugfs_create_dir(MVPP2_DRIVER_NAME, NULL);
>

I dropped this at the request of Russell last time around, and will be
fixing this up in a "better" way later this week, so I will drop this
from the stable queues as well.

thanks,

greg k-h

\
 
 \ /
  Last update: 2022-09-21 08:52    [W:0.046 / U:1.412 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site