]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Fixes for 5.19
authorSasha Levin <sashal@kernel.org>
Mon, 19 Sep 2022 12:26:43 +0000 (08:26 -0400)
committerSasha Levin <sashal@kernel.org>
Mon, 19 Sep 2022 12:26:43 +0000 (08:26 -0400)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-5.19/net-mvpp2-debugfs-fix-memory-leak-when-using-debugfs.patch [new file with mode: 0644]
queue-5.19/series

diff --git a/queue-5.19/net-mvpp2-debugfs-fix-memory-leak-when-using-debugfs.patch b/queue-5.19/net-mvpp2-debugfs-fix-memory-leak-when-using-debugfs.patch
new file mode 100644 (file)
index 0000000..33b3275
--- /dev/null
@@ -0,0 +1,51 @@
+From 8a0eb7e3df432d2067f908e01674f2f3cb52a007 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 2 Sep 2022 15:41:11 +0200
+Subject: net: mvpp2: debugfs: fix memory leak when using debugfs_lookup()
+
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+[ 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>
+---
+ drivers/net/ethernet/marvell/mvpp2/mvpp2_debugfs.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+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);
+-- 
+2.35.1
+
index 26c568bc1145b27818f47dfeef22c63a3f57b728..94fea4d6a10423329b15d2b1d83cfb9338f7037e 100644 (file)
@@ -54,3 +54,4 @@ drm-i915-guc-don-t-update-engine-busyness-stats-too-.patch
 drm-i915-guc-cancel-guc-engine-busyness-worker-synch.patch
 block-blk_queue_enter-__bio_queue_enter-must-return-.patch
 parisc-ccio-dma-add-missing-iounmap-in-error-path-in.patch
+net-mvpp2-debugfs-fix-memory-leak-when-using-debugfs.patch