• Thomas Gleixner's avatar
    x86/cpu: Re-enable stackprotector · 2cb15faa
    Thomas Gleixner authored
    Commit 5416c266 ("x86: make sure load_percpu_segment has no
    stackprotector") disabled the stackprotector for cpu/common.c because of
    load_percpu_segment(). Back then the boot stack canary was initialized very
    early in start_kernel(). Switching the per CPU area by loading the GDT
    caused the stackprotector to fail with paravirt enabled kernels as the
    GSBASE was not updated yet. In hindsight a wrong change because it would
    have been sufficient to ensure that the canary is the same in both per CPU
    areas.
    
    Commit d5553523 ("random: move rand_initialize() earlier") moved the
    stack canary initialization to a later point in the init sequence. As a
    consequence the per CPU stack canary is 0 when switching the per CPU areas,
    so there is no requirement anymore to exclude this file.
    
    Add a comment to load_percpu_segment().
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Link: https://lore.kernel.org/r/20220915111143.303010511@infradead.org
    2cb15faa
common.c 62.9 KB