aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2009-04-07 17:12:43 +0930
committerRusty Russell <rusty@rustcorp.com.au>2009-04-07 17:12:43 +0930
commit2e45e77787c9d0720b046eb69856edf43b17e33e (patch)
tree56c2bd470e3eec849bb8bb0a2263a6ef0b4b7694
parentd508afb437daee7cf07da085b635c44a4ebf9b38 (diff)
Revert "module: remove the SHF_ALLOC flag on the __versions section."
This reverts commit 9cb610d8e35fe3ec95a2fe2030b02f85aeea83c1. This was an impressively stupid patch. Firstly, we reset the SHF_ALLOC flag lower down in the same function, so the patch was useless. Even better, find_sec() ignores sections with SHF_ALLOC not set, so it breaks CONFIG_MODVERSIONS=y with CONFIG_MODULE_FORCE_LOAD=n, which refuses to load the module since it can't find the __versions section. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-rw-r--r--kernel/module.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/kernel/module.c b/kernel/module.c
index c268a771595..05f014efa32 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -1952,9 +1952,6 @@ static noinline struct module *load_module(void __user *umod,
if (strstarts(secstrings+sechdrs[i].sh_name, ".exit"))
sechdrs[i].sh_flags &= ~(unsigned long)SHF_ALLOC;
#endif
- /* Don't keep __versions around; it's just for loading. */
- if (strcmp(secstrings + sechdrs[i].sh_name, "__versions") == 0)
- sechdrs[i].sh_flags &= ~(unsigned long)SHF_ALLOC;
}
modindex = find_sec(hdr, sechdrs, secstrings,