[PATCH v6 0/6] x86/vdso: VDSO updates and fixes for sframes

Jens Remus
2026-01-29T11:28:18Z

This enables generation of SFrame V3 stack trace information for VDSO on
x86-64. It's a continuation of Josh's and Steve's work:

https://lore.kernel.org/all/cover.1737511963.git.jpoimboe@kernel.org/
https://lore.kernel.org/all/20250422183439.895236512@goodmis.org/

This series focuses only on the VDSO code. They are helpful fixes
and updates that doesn't rely on sframes (although the last patch
is sframe related).

This series applies 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 such as VDSO with SFrame V3
stack trace information (using the assembler option --gsframe-3).

Changes in v6:
- SFrame V3 support (SFrame V2 is not supported).
- Prevent GNU_SFRAME program table entry to empty .sframe section.
- Integrate v5 review feedback. (Josh)

Regards,
Jens

Josh Poimboeuf (6):
x86/vdso: Fix DWARF generation for getrandom()
x86/asm: Avoid emitting DWARF CFI for non-VDSO
x86/asm: Simplify VDSO DWARF generation
x86/vdso: Use SYM_FUNC_{START,END} in __kernel_vsyscall()
x86/vdso: Use CFI macros in __vdso_sgx_enter_enclave()
x86/vdso: Enable sframe generation in VDSO

arch/Kconfig | 7 +++
arch/x86/entry/vdso/Makefile | 10 +++--
arch/x86/entry/vdso/vdso-layout.lds.S | 9 +++-
arch/x86/entry/vdso/vdso32/system_call.S | 10 +----
arch/x86/entry/vdso/vgetrandom-chacha.S | 3 +-
arch/x86/entry/vdso/vsgx.S | 19 +++------
arch/x86/include/asm/dwarf2.h | 54 +++++++++++++++++-------
arch/x86/include/asm/linkage.h | 33 ++++++++++++---
arch/x86/include/asm/vdso.h | 1 -
9 files changed, 97 insertions(+), 49 deletions(-)

--
2.51.0