• Martin Schwidefsky's avatar
    s390: correct module section names for expoline code revert · 037069f2
    Martin Schwidefsky authored
    [ Upstream commit 6cf09958 ]
    
    The main linker script vmlinux.lds.S for the kernel image merges
    the expoline code patch tables into two section ".nospec_call_table"
    and ".nospec_return_table". This is *not* done for the modules,
    there the sections retain their original names as generated by gcc:
    ".s390_indirect_call", ".s390_return_mem" and ".s390_return_reg".
    
    The module_finalize code has to check for the compiler generated
    section names, otherwise no code patching is done. This slows down
    the module code in case of "spectre_v2=off".
    
    Cc: stable@vger.kernel.org # 4.16
    Fixes: f19fbd5e ("s390: introduce execute-trampolines for branches")
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    037069f2
module.c 15.3 KB