• Anup Patel's avatar
    RISC-V: Don't mark init section as non-executable · 4e0f9e3a
    Anup Patel authored
    The head text section (i.e. _start, secondary_start_sbi, etc) and the
    init section fall under same page table level-1 mapping.
    
    Currently, the runtime CPU hotplug is broken because we are marking
    init section as non-executable which in-turn marks head text section
    as non-executable.
    
    Further investigating other architectures, it seems marking the init
    section as non-executable is redundant because the init section pages
    are anyway poisoned and freed.
    
    To fix broken runtime CPU hotplug, we simply remove the code marking
    the init section as non-executable.
    
    Fixes: d27c3c90 ("riscv: add STRICT_KERNEL_RWX support")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarAnup Patel <anup.patel@wdc.com>
    Reviewed-by: default avatarZong Li <zong.li@sifive.com>
    Reviewed-by: default avatarAtish Patra <atish.patra@wdc.com>
    Signed-off-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
    4e0f9e3a
init.c 14 KB