• Will Deacon's avatar
    arm64: compat: Always use sigpage for sigreturn trampoline · 8e411be6
    Will Deacon authored
    The 32-bit sigreturn trampoline in the compat sigpage matches the binary
    representation of the arch/arm/ sigpage exactly. This is important for
    debuggers (e.g. GDB) and unwinders (e.g. libunwind) since they rely
    on matching the instruction sequence in order to identify that they are
    unwinding through a signal. The same cannot be said for the sigreturn
    trampoline in the compat vDSO, which defeats the unwinder heuristics and
    instead attempts to use unwind directives for the unwinding. This is in
    contrast to arch/arm/, which never uses the vDSO for sigreturn.
    
    Ensure compatibility with arch/arm/ and existing unwinders by always
    using the sigpage for the sigreturn trampoline, regardless of the
    presence of the compat vDSO.
    Reviewed-by: default avatarVincenzo Frascino <vincenzo.frascino@arm.com>
    Reviewed-by: default avatarArd Biesheuvel <ardb@kernel.org>
    Reviewed-by: default avatarMark Rutland <mark.rutland@arm.com>
    Signed-off-by: default avatarWill Deacon <will@kernel.org>
    8e411be6
signal32.c 12.6 KB