lkml.org 
[lkml]   [2008]   [Aug]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH 2.6.27-rc3 24/28] mdb: add export function to module.c
add the ability to scan and display the loaded module list 
inside the debugger.

Signed-off-by: Jeffrey Vernon Merkey (jmerkey@wolfmountaingroup.com)

--- a/kernel/module.c 2008-08-15 21:26:27.000000000 -0600
+++ b/kernel/module.c 2008-08-15 15:41:57.000000000 -0600
@@ -2503,6 +2503,39 @@
return 0;
}

+#if defined(CONFIG_MDB) || defined(CONFIG_MDB_MODULE)
+int mdb_modules(char *str, int (*print)(char *s, ...))
+{
+ struct module *mod;
+ struct module_use *use;
+
+ if (!print)
+ return 0;
+
+ list_for_each_entry(mod, &modules, list)
+ {
+ if (str && *str && !strstr(mod->name, str))
+ continue;
+
+ print(" 0x%08p ", mod->module_core);
+ print("%s", mod->name);
+ print(" %lu %02u ", mod->init_size + mod->core_size,
+ module_refcount(mod));
+ list_for_each_entry(use, &mod->modules_which_use_me, list)
+ print("%s,", use->module_which_uses->name);
+ if (mod->init != NULL && mod->exit == NULL)
+ print("[permanent],");
+ print(" %s ", mod->state == MODULE_STATE_GOING ? "Unloading":
+ mod->state == MODULE_STATE_COMING ? "Loading":
+ "Live");
+ if (print("\n"))
+ return 1;
+ }
+ return 0;
+}
+EXPORT_SYMBOL_GPL(mdb_modules);
+#endif
+
/* Look for this name: can be of form module:name. */
unsigned long module_kallsyms_lookup_name(const char *name)
{

\
 
 \ /
  Last update: 2008-08-16 06:17    [W:0.235 / U:0.020 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site