[PATCH 2.6.27-rc1-git5 24/26] mdb: add module.c fixes interative module search

From: jmerkey
Date: Tue Aug 05 2008 - 03:10:28 EST


Centralized external definitions into include files and corrected
the file to conform to Linux coding practices. fixed word wrap
problems with patches.

add an iterative search for module names while the debugger is active.

Signed-off-by: Jeffrey Vernon Merkey (jmerkey@xxxxxxxxxxxxxxxxxxxxx)

--- a/kernel/module.c 2008-08-04 15:53:44.000000000 -0600
+++ b/kernel/module.c 2008-08-04 15:49:51.000000000 -0600
@@ -2503,6 +2503,38 @@
return 0;
}

+#ifdef CONFIG_MDB
+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;
+}
+#endif
+
/* Look for this name: can be of form module:name. */
unsigned long module_kallsyms_lookup_name(const char *name)
{
--
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/