[<prev] [next>] [day] [month] [year] [list]
Message-ID: <45482.166.70.238.45.1217832120.squirrel@webmail.wolfmountaingroup.com>
Date: Mon, 4 Aug 2008 00:42:00 -0600 (MDT)
From: jmerkey@...fmountaingroup.com
To: linux-kernel@...r.kernel.org
Subject: [PATCH 2.6.27-rc1 23/25] mdb: Merkey's Kernel Debugger 2.6.27-rc1
Netware style debugger for Linux written by Jeffrey Vernon Merkey
--- a/kernel/module.c 2008-08-03 16:10:19.000000000 -0600
+++ b/kernel/module.c 2008-08-03 16:15:00.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)
{
By making a contribution to this project, I certify that
the contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file.
Jeffrey Vernon Merkey
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists