On Wed, Apr 22, 2026 at 7:11 AM Jens Remus <[email protected]> wrote:
>
> On 4/22/2026 12:51 AM, Dylan Hatch wrote:
> > Generalize the __safe* helpers to support a non-user-access code path.
> >
> > This requires arch-specific function address validation. This is because
> > arm64 vmlinux has an .rodata.text section which lies outside the bounds
> > of the normal .text. It contains code that is never executed by the
> > kernel mapping, but for which the toolchain nonetheless generates sframe
> > data, and needs to be considered valid for a PC lookup.
> >
> > This arch-specific address validation logic is only necessary to support
> > SFRAME_VALIDATION for the vmlinux .sframe, since these .rodata.text
> > functions would never be encountered during normal unwinding.
> >
> > Signed-off-by: Dylan Hatch <[email protected]>
> > Suggested-by: Jens Remus <[email protected]>
>
> With the minor nit below fixed:
>
> Reviewed-by: Jens Remus <[email protected]>
>
> > ---
> >  arch/Kconfig                           |  2 +-
> >  arch/arm64/include/asm/sections.h      |  1 +
> >  arch/arm64/include/asm/unwind_sframe.h | 21 +++++++++++++++++++++
> >  arch/arm64/kernel/vmlinux.lds.S        |  2 ++
> >  include/linux/sframe.h                 |  2 ++
> >  kernel/unwind/sframe.c                 | 25 +++++++++++++++++++++++--
> >  6 files changed, 50 insertions(+), 3 deletions(-)
>
> > diff --git a/arch/Kconfig b/arch/Kconfig
> > @@ -503,7 +503,7 @@ config HAVE_UNWIND_USER_SFRAME
> >
> >  config SFRAME_VALIDATION
> >       bool "Enable .sframe section debugging"
> > -     depends on HAVE_UNWIND_USER_SFRAME
> > +     depends on SFRAME_LOOKUP
>
>         depends on UNWIND_SFRAME__LOOKUP

Ah my bad. This mistake was masking similar issues with .init.text and
.exit.text as we had with .rodata.text. I'll send a new version
accounting for those versions as well.

>
> >       depends on DYNAMIC_DEBUG
> >       help
> >         When adding an .sframe section for a task, validate the entire
>
> Regards,
> Jens
> --
> Jens Remus
> Linux on Z Development (D3303)
> [email protected] / [email protected]
>
> 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/
>

Thanks,
Dylan

Reply via email to