OSDN Git Service

dyndbg: make ddebug_tables list LIFO for add/remove_module
authorJim Cromie <jim.cromie@gmail.com>
Sun, 19 Jul 2020 23:10:50 +0000 (17:10 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 24 Jul 2020 15:00:09 +0000 (17:00 +0200)
loadable modules are the last in on this list, and are the only
modules that could be removed.  ddebug_remove_module() searches from
head, but ddebug_add_module() uses list_add_tail().  Change it to
list_add() for a micro-optimization.

Acked-by: <jbaron@akamai.com>
Signed-off-by: Jim Cromie <jim.cromie@gmail.com>
Link: https://lore.kernel.org/r/20200719231058.1586423-11-jim.cromie@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
lib/dynamic_debug.c

index da3ed54..e879af4 100644 (file)
@@ -895,7 +895,7 @@ int ddebug_add_module(struct _ddebug *tab, unsigned int n,
        dt->ddebugs = tab;
 
        mutex_lock(&ddebug_lock);
-       list_add_tail(&dt->link, &ddebug_tables);
+       list_add(&dt->link, &ddebug_tables);
        mutex_unlock(&ddebug_lock);
 
        v2pr_info("%u debug prints in module %s\n", n, dt->mod_name);