kernel/time/test_udelay.c: fix memory leak with using debugfs_lookup()
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 2 Feb 2023 15:12:14 +0000 (16:12 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 Feb 2023 12:35:51 +0000 (13:35 +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.

Link: https://lore.kernel.org/r/20230202151214.2306822-1-gregkh@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <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);
 }