Merge tag 'gcc-plugins-v4.9-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git...
[cascardo/linux.git] / init / main.c
index eae02aa..2858be7 100644 (file)
@@ -380,7 +380,7 @@ static void __init setup_command_line(char *command_line)
 
 static __initdata DECLARE_COMPLETION(kthreadd_done);
 
-static noinline void __init_refok rest_init(void)
+static noinline void __ref rest_init(void)
 {
        int pid;
 
@@ -716,6 +716,12 @@ static bool __init_or_module initcall_blacklisted(initcall_t fn)
        addr = (unsigned long) dereference_function_descriptor(fn);
        sprint_symbol_no_offset(fn_name, addr);
 
+       /*
+        * fn will be "function_name [module_name]" where [module_name] is not
+        * displayed for built-in init functions.  Strip off the [module_name].
+        */
+       strreplace(fn_name, ' ', '\0');
+
        list_for_each_entry(entry, &blacklisted_initcalls, next) {
                if (!strcmp(fn_name, entry->buf)) {
                        pr_debug("initcall %s blacklisted\n", fn_name);
@@ -783,6 +789,7 @@ int __init_or_module do_one_initcall(initcall_t fn)
        }
        WARN(msgbuf[0], "initcall %pF returned with %s\n", fn, msgbuf);
 
+       add_latent_entropy();
        return ret;
 }