This RFC series adds s390 support for unwinding of signal frames in user
space using SFrame V3's indication of signal frames.
Prerequirements:
This series applies on top of the latest unwind user sframe s390 series
"[PATCH v4 00/12] s390: SFrame user space unwinding":
https://lore.kernel.org/all/20260127151926.2805123-1-jremus@linux.ibm.com/
on top of the latest unwind user sframe series
"[PATCH v13 00/18] unwind_deferred: Implement sframe handling":
https://lore.kernel.org/all/20260127150554.2760964-1-jremus@linux.ibm.com/
Like above series it depends on the upcoming binutils 2.46 release to
be used to build executables and libraries (e.g. vDSO) with SFrame V3
on s390 (using the assembler option --gsframe-3).
Overview:
Patches 1 and 2 enables the common unwind user (sframe) frameworks to
support signal frames:
- Patch 1 enables unwind user to resort to an architecture-specific
signal frame unwinder, if a frame is a signal frame.
- Patch 2 adds support to unwind user sframe to provide the signal
frame indication represented in SFrame V3.
Patch 3 annotates the s390 vDSO functions __kernel_[rt_]sigreturn()
as signal frames.
Patch 4 moves the s390 struct [rt_]sigframe to asm/sigframe.h so that
it can be used in unwind user.
Patch 5 enables signal frame unwinding in user space on s390.
Regards,
Jens
Jens Remus (5):
unwind_user: Enable arch-specific signal frame unwinders
unwind_user/sframe: Add support for signal frame indication
s390/vdso: Annotate __kernel_[rt_]sigreturn as signal frames
s390/signal: Move struct [rt_]sigframe to asm/sigframe.h
s390/unwind_user: Enable signal frame unwinding of user space
arch/s390/include/asm/dwarf.h | 3 +
arch/s390/include/asm/sigframe.h | 78 +++++++++++++++++++++++
arch/s390/include/asm/unwind_user.h | 57 +++++++++++++++++
arch/s390/kernel/signal.c | 71 +--------------------
arch/s390/kernel/vdso/vdso_user_wrapper.S | 15 ++++-
arch/x86/include/asm/unwind_user.h | 6 +-
include/linux/unwind_user.h | 9 +++
include/linux/unwind_user_types.h | 1 +
kernel/unwind/sframe.c | 8 ++-
kernel/unwind/sframe.h | 1 +
kernel/unwind/user.c | 4 ++
11 files changed, 178 insertions(+), 75 deletions(-)
create mode 100644 arch/s390/include/asm/sigframe.h
--
2.51.0