summary refs log tree commit diff
path: root/drivers/usb/chipidea/debug.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-02-02 16:32:23 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-03-11 13:55:36 +0100
commit610373dd354f3d393aa3bdcab59f55024c16b5e5 (patch)
treef18edde1a57f2508ce6b8b706551819dda83b8f2 /drivers/usb/chipidea/debug.c
parentce234af49d103d95e3fdca59b25e0d0242f41bb4 (diff)
downloadlinux-610373dd354f3d393aa3bdcab59f55024c16b5e5.tar.gz
USB: chipidea: fix memory leak with using debugfs_lookup()
[ Upstream commit ff35f3ea3baba5b81416ac02d005cfbf6dd182fa ]

When calling debugfs_lookup() the result must have dput() called on it,
otherwise the memory will leak over time.  To make things simpler, just
call debugfs_lookup_and_remove() instead which handles all of the logic
at once.

Cc: Peter Chen <peter.chen@kernel.org>
Link: https://lore.kernel.org/r/20230202153235.2412790-1-gregkh@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/usb/chipidea/debug.c')
-rw-r--r--drivers/usb/chipidea/debug.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/chipidea/debug.c b/drivers/usb/chipidea/debug.c
index faf6b078b6c4..bbc610e5bd69 100644
--- a/drivers/usb/chipidea/debug.c
+++ b/drivers/usb/chipidea/debug.c
@@ -364,5 +364,5 @@ void dbg_create_files(struct ci_hdrc *ci)
  */
 void dbg_remove_files(struct ci_hdrc *ci)
 {
-	debugfs_remove(debugfs_lookup(dev_name(ci->dev), usb_debug_root));
+	debugfs_lookup_and_remove(dev_name(ci->dev), usb_debug_root);
 }