diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-02-02 16:15:15 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-02-08 13:36:00 +0100 |
commit | a0bc3f78d0fffa8be1a73bf945a43bfe1c2871c1 (patch) | |
tree | fb817754e54831facb726d2d0491e00c56d4400a /kernel | |
parent | kernel/time/test_udelay.c: fix memory leak with using debugfs_lookup() (diff) | |
download | linux-a0bc3f78d0fffa8be1a73bf945a43bfe1c2871c1.tar.xz linux-a0bc3f78d0fffa8be1a73bf945a43bfe1c2871c1.zip |
kernel/power/energy_model.c: fix memory leak with using debugfs_lookup()
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>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Len Brown <len.brown@intel.com>
Link: https://lore.kernel.org/r/20230202151515.2309543-1-gregkh@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/power/energy_model.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/kernel/power/energy_model.c b/kernel/power/energy_model.c index f82111837b8d..7b44f5b89fa1 100644 --- a/kernel/power/energy_model.c +++ b/kernel/power/energy_model.c @@ -87,10 +87,7 @@ static void em_debug_create_pd(struct device *dev) static void em_debug_remove_pd(struct device *dev) { - struct dentry *debug_dir; - - debug_dir = debugfs_lookup(dev_name(dev), rootdir); - debugfs_remove_recursive(debug_dir); + debugfs_lookup_and_remove(dev_name(dev), rootdir); } static int __init em_debug_init(void) |