Re: [PATCH v2 0/2] ftrace: Make ftrace_regs abstract and consolidate code

From: Heiko Carstens
Date: Wed Oct 09 2024 - 05:37:29 EST


On Tue, Oct 08, 2024 at 07:05:27PM -0400, Steven Rostedt wrote:
>
> This is based on:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git/
> ftrace/for-next
>
> ftrace_regs was created to hold registers that store information to save
> function parameters, return value and stack. Since it is a subset of
> pt_regs, it should only be used by its accessor functions. But because
> pt_regs can easily be taken from ftrace_regs (on most archs), it is
> tempting to use it directly. But when running on other architectures, it
> may fail to build or worse, build but crash the kernel!
>
> Instead, make struct ftrace_regs an empty structure and have the
> architectures define __arch_ftrace_regs and all the accessor functions
> will typecast to it to get to the actual fields. This will help avoid
> usage of ftrace_regs directly.
>
> I again compiled all the affected architectures (except for 32bit ppc).
> I got s390 built when disabling bcachefs.

Build fix for this problem is commit 2007d28ec009 ("bcachefs: rename
version -> bversion for big endian builds").