From: Greg Kroah-Hartman Date: Thu, 2 Feb 2023 15:15:15 +0000 (+0100) Subject: PM: EM: fix memory leak with using debugfs_lookup() X-Git-Tag: v6.1.21~856 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5100c4efc30636aa48ac517dece3c3b7f84fe367;p=platform%2Fkernel%2Flinux-starfive.git PM: EM: fix memory leak with using debugfs_lookup() [ Upstream commit a0e8c13ccd6a9a636d27353da62c2410c4eca337 ] 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. Signed-off-by: Greg Kroah-Hartman Signed-off-by: Rafael J. Wysocki Signed-off-by: Sasha Levin --- diff --git a/kernel/power/energy_model.c b/kernel/power/energy_model.c index f821118..7b44f5b 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)