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

Jens Remus posted 6 patches 1 week, 2 days ago
There is a newer version of this series
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(-)
[PATCH v6 0/6] x86/vdso: VDSO updates and fixes for sframes
Posted by Jens Remus 1 week, 2 days ago
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
Re: [PATCH v6 0/6] x86/vdso: VDSO updates and fixes for sframes
Posted by H. Peter Anvin 6 days, 12 hours ago
On January 29, 2026 3:27:20 AM PST, Jens Remus <jremus@linux.ibm.com> wrote:
>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(-)
>

This patchset clashes *hard* with the changes already in tip:x86/entry.
Re: [PATCH v6 0/6] x86/vdso: VDSO updates and fixes for sframes
Posted by Jens Remus 4 days, 3 hours ago
On 2/1/2026 9:23 AM, H. Peter Anvin wrote:
> On January 29, 2026 3:27:20 AM PST, Jens Remus <jremus@linux.ibm.com> wrote:
>> 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).

>> 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(-)
>>
> 
> This patchset clashes *hard* with the changes already in tip:x86/entry.

Thank you for the hint!  I have rebased the series on top of
tip:x86/entry and sent a v7 for review:

[PATCH v7 0/6] x86/vdso: VDSO updates and fixes for sframes
https://lore.kernel.org/all/20260203171958.1522030-1-jremus@linux.ibm.com/

Regards,
Jens
-- 
Jens Remus
Linux on Z Development (D3303)
jremus@de.ibm.com / jremus@linux.ibm.com

IBM Deutschland Research & Development GmbH; Vorsitzender des Aufsichtsrats: Wolfgang Wendt; Geschäftsführung: David Faller; Sitz der Gesellschaft: Ehningen; Registergericht: Amtsgericht Stuttgart, HRB 243294
IBM Data Privacy Statement: https://www.ibm.com/privacy/