[PATCH 2.6.26 23/25] mdb: Merkey's Kernel Debugger

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: jmerkey
Date: Sunday, August 3, 2008 - 7:14 pm

Netware Style Debugger for Linux written by Jeffrey Vernon Merkey

--- linux-2.6.26/kernel/module.c	2008-07-13 15:51:29.000000000 -0600 +++
linux-2.6.26-mdb/kernel/module.c	2008-08-03 12:49:01.000000000 -0600 @@
-2435,6 +2435,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





--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 2.6.26 23/25] mdb: Merkey's Kernel Debugger, jmerkey, (Sun Aug 3, 7:14 pm)