| From eeff1c2953f1dd7651d3c023bd9b621d8cf9a2bc Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 2 Feb 2023 15:16:20 +0100 |
| Subject: drivers: base: component: fix memory leak with using debugfs_lookup() |
| |
| From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| [ Upstream commit 8deb87b1e810dd558371e88ffd44339fbef27870 ] |
| |
| 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-1-gregkh@linuxfoundation.org |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/base/component.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/base/component.c b/drivers/base/component.c |
| index 5eadeac6c5322..7dbf14a1d9157 100644 |
| --- a/drivers/base/component.c |
| +++ b/drivers/base/component.c |
| @@ -125,7 +125,7 @@ static void component_debugfs_add(struct aggregate_device *m) |
| |
| static void component_debugfs_del(struct aggregate_device *m) |
| { |
| - debugfs_remove(debugfs_lookup(dev_name(m->parent), component_debugfs_dir)); |
| + debugfs_lookup_and_remove(dev_name(m->parent), component_debugfs_dir); |
| } |
| |
| #else |
| -- |
| 2.39.2 |
| |