This is a kernel/module.c
Linux 2.6.23-rc5 documentation patch that adds more explanation and corrects a spelling error.
--- kernel/module.c 2007-09-01 14:15:06.131101500 +0300
+++ patched-kernel/module.c 2007-09-01 14:15:27.502780500 +0300
@@ -80,7 +80,8 @@ int unregister_module_notifier(struct no
}
EXPORT_SYMBOL(unregister_module_notifier);
-/* We require a truly strong try_module_get() */
+/* We require a truly strong try_module_get(): 0 means failure due to
+ ongoing or failed initialization etc. */
static inline int strong_try_module_get(struct module *mod)
{
if (mod && mod->state == MODULE_STATE_COMING)
@@ -957,7 +958,8 @@ static unsigned long resolve_symbol(Elf_
ret = __find_symbol(name, &owner, &crc,
!(mod->taints & TAINT_PROPRIETARY_MODULE));
if (ret) {
- /* use_module can fail due to OOM, or module unloading */
+ /* use_module can fail due to OOM, or module
+ initialization or unloading */
if (!check_version(sechdrs, versindex, name, mod, crc) ||
!use_module(mod, owner))
ret = 0;
@@ -1270,7 +1272,7 @@ dup:
return ret;
}
-/* Change all symbols so that sh_value encodes the pointer directly. */
+/* Change all symbols so that st_value encodes the pointer directly. */
static int simplify_symbols(Elf_Shdr *sechdrs,
unsigned int symindex,
const char *strtab,
Signed-off-by: Matti Linnanvuori <[email protected]>
Wissenswertes f?r Bastler und Hobby Handwerker. BE A BETTER HEIMWERKER! http://www.yahoo.de/clever