projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
09709a4
)
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:57:38 +0000
(13:57 +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 060348125635b20c0f1833e56ea9b931c3810237..9cbf086fe55241cdc65d2b8c8fa8cb8f7680f671 100644
(file)
--- a/
drivers/base/dd.c
+++ b/
drivers/base/dd.c
@@
-352,7
+352,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);