* [PATCH] Re-xmit: Modules: Be stricter recognizing init&exit sesections
@ 2003-09-08 2:38 Rusty Russell
0 siblings, 0 replies; only message in thread
From: Rusty Russell @ 2003-09-08 2:38 UTC (permalink / raw)
To: torvalds; +Cc: linux-kernel
Linus, please apply.
Name: .init sections must start with .init
Status: Booted on 2.6.0-test4-bk9
D: Someone pointed out that -ffunction-sections can cause a function
D: called "init<something>" to be put in the init section, and discarded.
D: This hurts PARISC badly. Get more fussy with identifying them.
--- 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
}
Rusty.
--
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2003-09-08 2:43 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-09-08 2:38 [PATCH] Re-xmit: Modules: Be stricter recognizing init&exit sesections Rusty Russell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome