time/debug: Fix memory leak with using debugfs_lookup()
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 2 Feb 2023 15:12:14 +0000 (16:12 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 9 Feb 2023 19:12:27 +0000 (20:12 +0100)
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 <gregkh@linuxfoundation.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20230202151214.2306822-1-gregkh@linuxfoundation.org
kernel/time/test_udelay.c

index 13b11eb62685e451488b6e0da55a131d74d09662..20d5df631570ec594efd36730b48511da0372702 100644 (file)
@@ -149,7 +149,7 @@ module_init(udelay_test_init);
 static void __exit udelay_test_exit(void)
 {
        mutex_lock(&udelay_test_lock);
-       debugfs_remove(debugfs_lookup(DEBUGFS_FILENAME, NULL));
+       debugfs_lookup_and_remove(DEBUGFS_FILENAME, NULL);
        mutex_unlock(&udelay_test_lock);
 }