Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[linux-2.6-microblaze.git] / init / main.c
index f88d896..f5b8246 100644 (file)
 #include <linux/profile.h>
 #include <linux/kfence.h>
 #include <linux/rcupdate.h>
+#include <linux/srcu.h>
 #include <linux/moduleparam.h>
 #include <linux/kallsyms.h>
+#include <linux/buildid.h>
 #include <linux/writeback.h>
 #include <linux/cpu.h>
 #include <linux/cpuset.h>
@@ -386,16 +388,6 @@ static char * __init xbc_make_cmdline(const char *key)
        return new_cmdline;
 }
 
-static u32 boot_config_checksum(unsigned char *p, u32 size)
-{
-       u32 ret = 0;
-
-       while (size--)
-               ret += *p++;
-
-       return ret;
-}
-
 static int __init bootconfig_params(char *param, char *val,
                                    const char *unused, void *arg)
 {
@@ -439,7 +431,7 @@ static void __init setup_boot_config(void)
                return;
        }
 
-       if (boot_config_checksum((unsigned char *)data, size) != csum) {
+       if (xbc_calc_checksum(data, size) != csum) {
                pr_err("bootconfig checksum failed\n");
                return;
        }
@@ -922,6 +914,7 @@ asmlinkage __visible void __init __no_sanitize_address start_kernel(void)
        set_task_stack_end_magic(&init_task);
        smp_setup_processor_id();
        debug_objects_early_init();
+       init_vmlinux_build_id();
 
        cgroup_init_early();
 
@@ -1018,6 +1011,7 @@ asmlinkage __visible void __init __no_sanitize_address start_kernel(void)
        tick_init();
        rcu_init_nohz();
        init_timers();
+       srcu_init();
        hrtimers_init();
        softirq_init();
        timekeeping_init();