diff options
author | Ingo Molnar <mingo@elte.hu> | 2010-12-25 09:58:34 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-12-25 09:58:34 +0100 |
commit | bc59e56fbad784f85b3917f65f11f4dddffc2722 (patch) | |
tree | b7b9acb6a845d99d4fa06a01d0305631923f63a1 /kernel | |
parent | cf35ab62e0eae3c379f3b6f4da167775f1bf19e4 (diff) | |
parent | 94462ad3b14739d158a1ab87bb30008c1e5a6bc1 (diff) |
Merge branch 'x86/security' into auto-latest
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/module.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/kernel/module.c b/kernel/module.c index 562f665c721f..34e00b708fad 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -2816,18 +2816,6 @@ static struct module *load_module(void __user *umod, kfree(info.strmap); free_copy(&info); - /* Set RO and NX regions for core */ - set_section_ro_nx(mod->module_core, - mod->core_text_size, - mod->core_ro_size, - mod->core_size); - - /* Set RO and NX regions for init */ - set_section_ro_nx(mod->module_init, - mod->init_text_size, - mod->init_ro_size, - mod->init_size); - /* Done! */ trace_module_load(mod); return mod; @@ -2888,6 +2876,18 @@ SYSCALL_DEFINE3(init_module, void __user *, umod, blocking_notifier_call_chain(&module_notify_list, MODULE_STATE_COMING, mod); + /* Set RO and NX regions for core */ + set_section_ro_nx(mod->module_core, + mod->core_text_size, + mod->core_ro_size, + mod->core_size); + + /* Set RO and NX regions for init */ + set_section_ro_nx(mod->module_init, + mod->init_text_size, + mod->init_ro_size, + mod->init_size); + do_mod_ctors(mod); /* Start the module */ if (mod->init != NULL) |