• Linus Torvalds's avatar
    x86: Fix bit corruption at CPU resume time · 5e427ec2
    Linus Torvalds authored
    In commit 78d77df7 ("x86-64, init: Do not set NX bits on non-NX
    capable hardware") we added the early_pmd_flags that gets the NX bit set
    when a CPU supports NX. However, the new variable was marked __initdata,
    because the main _use_ of this is in an __init routine.
    
    However, the bit setting happens from secondary_startup_64(), which is
    called not only at bootup, but on every secondary CPU start.  Including
    resuming from STR and at CPU hotplug time.  So the value cannot be
    __initdata.
    Reported-bisected-and-tested-by: default avatarMichal Hocko <mhocko@suse.cz>
    Cc: stable@vger.kernel.org # v3.9
    Acked-by: default avatarPeter Anvin <hpa@linux.intel.com>
    Cc: Fernando Luis Vázquez Cao <fernando@oss.ntt.co.jp>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    5e427ec2
head64.c 4.99 KB