• Dave Martin's avatar
    arm64: signal: split frame link record from sigcontext structure · 20987de3
    Dave Martin authored
    In order to be able to increase the amount of the data currently
    written to the __reserved[] array in the signal frame, it is
    necessary to overwrite the locations currently occupied by the
    {fp,lr} frame link record pushed at the top of the signal stack.
    
    In order for this to work, this patch detaches the frame link
    record from struct rt_sigframe and places it separately at the top
    of the signal stack.  This will allow subsequent patches to insert
    data between it and __reserved[].
    
    This change relies on the non-ABI status of the placement of the
    frame record with respect to struct sigframe: this status is
    undocumented, but the placement is not declared or described in the
    user headers, and known unwinder implementations (libgcc,
    libunwind, gdb) appear not to rely on it.
    Reviewed-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: default avatarDave Martin <Dave.Martin@arm.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    20987de3
signal.c 11.7 KB