On Mon, 07 Jul 2025 21:22:52 -0400 Steven Rostedt <rost...@kernel.org> wrote:
> From: Josh Poimboeuf <jpoim...@kernel.org> > > Use ARCH_INIT_USER_FP_FRAME to describe how frame pointers are unwound > on x86, and enable CONFIG_HAVE_UNWIND_USER_FP accordingly so the > unwind_user interfaces can be used. How is that going to work? Pretty much all x86 userspace is compiled with bp as a general purpose register not a frame pointer. David > > Signed-off-by: Josh Poimboeuf <jpoim...@kernel.org> > Signed-off-by: Steven Rostedt (Google) <rost...@goodmis.org> > --- > arch/x86/Kconfig | 1 + > arch/x86/include/asm/unwind_user.h | 11 +++++++++++ > 2 files changed, 12 insertions(+) > create mode 100644 arch/x86/include/asm/unwind_user.h > > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig > index 71019b3b54ea..5862433c81e1 100644 > --- a/arch/x86/Kconfig > +++ b/arch/x86/Kconfig > @@ -302,6 +302,7 @@ config X86 > select HAVE_SYSCALL_TRACEPOINTS > select HAVE_UACCESS_VALIDATION if HAVE_OBJTOOL > select HAVE_UNSTABLE_SCHED_CLOCK > + select HAVE_UNWIND_USER_FP if X86_64 > select HAVE_USER_RETURN_NOTIFIER > select HAVE_GENERIC_VDSO > select VDSO_GETRANDOM if X86_64 > diff --git a/arch/x86/include/asm/unwind_user.h > b/arch/x86/include/asm/unwind_user.h > new file mode 100644 > index 000000000000..8597857bf896 > --- /dev/null > +++ b/arch/x86/include/asm/unwind_user.h > @@ -0,0 +1,11 @@ > +/* SPDX-License-Identifier: GPL-2.0 */ > +#ifndef _ASM_X86_UNWIND_USER_H > +#define _ASM_X86_UNWIND_USER_H > + > +#define ARCH_INIT_USER_FP_FRAME > \ > + .cfa_off = (s32)sizeof(long) * 2, > \ > + .ra_off = (s32)sizeof(long) * -1, > \ > + .fp_off = (s32)sizeof(long) * -2, > \ > + .use_fp = true, > + > +#endif /* _ASM_X86_UNWIND_USER_H */