projects
/
platform
/
kernel
/
linux-starfive.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
79ac2b0
)
drivers: base: dd: fix memory leak with using debugfs_lookup()
author
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Thu, 2 Feb 2023 14:16:21 +0000
(15:16 +0100)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Sat, 11 Mar 2023 12:55:39 +0000
(13:55 +0100)
[ Upstream commit
36c893d3a759ae7c91ee7d4871ebfc7504f08c40
]
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: "Rafael J. Wysocki" <rafael@kernel.org>
Link:
https://lore.kernel.org/r/20230202141621.2296458-2-gregkh@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/base/dd.c
patch
|
blob
|
history
diff --git
a/drivers/base/dd.c
b/drivers/base/dd.c
index 9ae2b5c4fc496e3bb250e6d4c180fadacbdc8169..c463173f1fb1a7c20c7d03b1338ebf67836be896 100644
(file)
--- a/
drivers/base/dd.c
+++ b/
drivers/base/dd.c
@@
-372,7
+372,7
@@
late_initcall(deferred_probe_initcall);
static void __exit deferred_probe_exit(void)
{
- debugfs_
remove_recursive(debugfs_lookup("devices_deferred", NULL)
);
+ debugfs_
lookup_and_remove("devices_deferred", NULL
);
}
__exitcall(deferred_probe_exit);