On Tue, Jul 15, 2025 at 10:57:37PM +0000, Sami Tolvanen wrote: > From: Puranjay Mohan <puranjay12@xxxxxxxxx> > > Currently, bpf_dispatcher_*_func() is marked with `__nocfi` therefore > calling BPF programs from this interface doesn't cause CFI warnings. > > When BPF programs are called directly from C: from BPF helpers or > struct_ops, CFI warnings are generated. > > Implement proper CFI prologues for the BPF programs and callbacks and > drop __nocfi for arm64. Fix the trampoline generation code to emit kCFI > prologue when a struct_ops trampoline is being prepared. > > Signed-off-by: Puranjay Mohan <puranjay12@xxxxxxxxx> > Co-developed-by: Maxwell Bland <mbland@xxxxxxxxxxxx> > Signed-off-by: Maxwell Bland <mbland@xxxxxxxxxxxx> > Co-developed-by: Sami Tolvanen <samitolvanen@xxxxxxxxxx> > Signed-off-by: Sami Tolvanen <samitolvanen@xxxxxxxxxx> > Tested-by: Dao Huang <huangdao1@xxxxxxxx> > --- > arch/arm64/include/asm/cfi.h | 7 +++++++ > arch/arm64/net/bpf_jit_comp.c | 22 +++++++++++++++++++--- > 2 files changed, 26 insertions(+), 3 deletions(-) > create mode 100644 arch/arm64/include/asm/cfi.h > diff --git a/arch/arm64/include/asm/cfi.h b/arch/arm64/include/asm/cfi.h > new file mode 100644 > index 000000000000..ab90f0351b7a > --- /dev/null > +++ b/arch/arm64/include/asm/cfi.h > @@ -0,0 +1,7 @@ > +/* SPDX-License-Identifier: GPL-2.0 */ > +#ifndef _ASM_ARM64_CFI_H > +#define _ASM_ARM64_CFI_H > + > +#define __bpfcall > + > +#endif /* _ASM_ARM64_CFI_H */ So close to not needing the arch header at all! Acked-by: Will Deacon <will@xxxxxxxxxx> Will