On Tue, Feb 08, 2022 at 06:16:35AM +0100, Ilya Leoshkevich wrote: > orig_x0's location is used by libbpf tracing macros, therefore it > should not be moved. > > Suggested-by: Andrii Nakryiko <andrii.nakryiko@xxxxxxxxx> > Signed-off-by: Ilya Leoshkevich <iii@xxxxxxxxxxxxx> > --- > arch/arm64/include/asm/ptrace.h | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/arch/arm64/include/asm/ptrace.h b/arch/arm64/include/asm/ptrace.h > index 41b332c054ab..7e34c3737839 100644 > --- a/arch/arm64/include/asm/ptrace.h > +++ b/arch/arm64/include/asm/ptrace.h > @@ -185,6 +185,10 @@ struct pt_regs { > u64 pstate; > }; > }; > + /* > + * orig_x0 is not exposed via struct user_pt_regs, but its location is > + * assumed by libbpf's tracing macros, so it should not be moved. > + */ In other words this comment is saying that the layout is ABI. That's not the case. orig_x0 here and equivalent on s390 can be moved. It will break bpf progs written without CO-RE and that is expected. Non CO-RE programs often do all kinds of bpf_probe_read_kernel and will be breaking when kernel layout is changing. I suggest to drop this patch and patch 12.