* module_unload - unloads the module from the system.
* @module: the module descriptor structure.
*
- * The function checks to see whether the module can be safely removed, then
- * it releases all the associated memory. This function can be applied both
- * for standard modules and for shallow modules.
+ * The function checks to see whether the module can be safely
+ * removed, then it executes any destructors and releases all the
+ * associated memory. This function can be applied both for standard
+ * modules and for shallow modules.
*
* A module can be safely removed from the system when no other modules reference
* symbols from it.
extern int module_unload(struct elf_module *module);
/**
+ * _module_unload - unloads the module without running destructors
+ *
+ * This function is the same as module_unload(), except that the
+ * module's destructors are not executed.
+ */
+extern int _module_unload(struct elf_module *module);
+
+/**
* module_unload - unloads the module from the system.
* @module: the module descriptor structure.
*