[PATCH] modules: insert mods sorted

From: Andrew Jones
Date: Sat May 25 2013 - 04:10:32 EST


While there isn't a big difference between typing 'lsmod' and
'lsmod | sort', the module listing in Oopses isn't so easily sorted.
Attempting to search these quickly by eye for particular modules while
rapidly triaging bugs can be a pain. Sort the list and reduce the pain.

Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx>
---
kernel/module.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/kernel/module.c b/kernel/module.c
index cab4bce49c23d..7914d8ef2e09c 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -3146,7 +3146,7 @@ static int may_init_module(void)
static int add_unformed_module(struct module *mod)
{
int err;
- struct module *old;
+ struct module *old, *m;

mod->state = MODULE_STATE_UNFORMED;

@@ -3166,7 +3166,13 @@ again:
err = -EEXIST;
goto out;
}
- list_add_rcu(&mod->list, &modules);
+ if (!list_empty(&modules)) {
+ list_for_each_entry(m, &modules, list)
+ if (strcmp(mod->name, m->name) < 0)
+ break;
+ list_add_tail_rcu(&mod->list, &m->list);
+ } else
+ list_add_rcu(&mod->list, &modules);
err = 0;

out:
--
1.8.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/