• Will Deacon's avatar
    arm64: vdso: Don't prefix sigreturn trampoline with a BTI C instruction · 9a964285
    Will Deacon authored
    For better or worse, GDB relies on the exact instruction sequence in the
    VDSO sigreturn trampoline in order to unwind from signals correctly.
    Commit c91db232 ("arm64: vdso: Convert to modern assembler annotations")
    unfortunately added a BTI C instruction to the start of __kernel_rt_sigreturn,
    which breaks this check. Thankfully, it's also not required, since the
    trampoline is called from a RET instruction when returning from the signal
    handler
    
    Remove the unnecessary BTI C instruction from __kernel_rt_sigreturn,
    and do the same for the 32-bit VDSO as well for good measure.
    
    Cc: Daniel Kiss <daniel.kiss@arm.com>
    Cc: Tamas Zsoldos <tamas.zsoldos@arm.com>
    Reviewed-by: default avatarDave Martin <dave.martin@arm.com>
    Reviewed-by: default avatarMark Brown <broonie@kernel.org>
    Fixes: c91db232 ("arm64: vdso: Convert to modern assembler annotations")
    Signed-off-by: default avatarWill Deacon <will@kernel.org>
    9a964285
linkage.h 1.65 KB