[module] Don't let gcc inline load_module()
[deliverable/linux.git] / kernel / module.c
index 61d212120df48e82a1b6521120fdbd428d983a81..9db11911e04b7b55df05fd9f928f5629fe46430d 100644 (file)
@@ -1799,7 +1799,7 @@ static void *module_alloc_update_bounds(unsigned long size)
 
 /* Allocate and load the module: note that size of section 0 is always
    zero, and we rely on this for optional sections. */
-static struct module *load_module(void __user *umod,
+static noinline struct module *load_module(void __user *umod,
                                  unsigned long len,
                                  const char __user *uargs)
 {
@@ -2288,7 +2288,7 @@ sys_init_module(void __user *umod,
 
        /* Start the module */
        if (mod->init != NULL)
-               ret = mod->init();
+               ret = do_one_initcall(mod->init);
        if (ret < 0) {
                /* Init routine failed: abort.  Try to protect us from
                    buggy refcounters. */
This page took 0.053099 seconds and 5 git commands to generate.