===== kernel/module.c 1.86 vs edited ===== --- 1.86/kernel/module.c Wed Jun 11 00:55:09 2003 +++ edited/kernel/module.c Thu Jun 12 15:46:13 2003 @@ -1194,7 +1194,8 @@ if ((s->sh_flags & masks[m][0]) != masks[m][0] || (s->sh_flags & masks[m][1]) || s->sh_entsize != ~0UL - || strstr(secstrings + s->sh_name, ".init")) + || strncmp(secstrings + s->sh_name, + ".init", 5) == 0) continue; s->sh_entsize = get_offset(&mod->core_size, s); DEBUGP("\t%s\n", secstrings + s->sh_name); @@ -1209,7 +1210,8 @@ if ((s->sh_flags & masks[m][0]) != masks[m][0] || (s->sh_flags & masks[m][1]) || s->sh_entsize != ~0UL - || !strstr(secstrings + s->sh_name, ".init")) + || strncmp(secstrings + s->sh_name, + ".init", 5) != 0) continue; s->sh_entsize = (get_offset(&mod->init_size, s) | INIT_OFFSET_MASK); @@ -1413,7 +1415,7 @@ } #ifndef CONFIG_MODULE_UNLOAD /* Don't load .exit sections */ - if (strstr(secstrings+sechdrs[i].sh_name, ".exit")) + if (strncmp(secstrings+sechdrs[i].sh_name, ".exit", 5) == 0) sechdrs[i].sh_flags &= ~(unsigned long)SHF_ALLOC; #endif }