[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250718223345.1075521-5-samitolvanen@google.com>
Date: Fri, 18 Jul 2025 22:33:46 +0000
From: Sami Tolvanen <samitolvanen@...gle.com>
To: bpf@...r.kernel.org, Puranjay Mohan <puranjay@...nel.org>,
Alexei Starovoitov <ast@...nel.org>, Daniel Borkmann <daniel@...earbox.net>
Cc: Catalin Marinas <catalin.marinas@....com>, Will Deacon <will@...nel.org>,
Andrii Nakryiko <andrii@...nel.org>, Mark Rutland <mark.rutland@....com>,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
Maxwell Bland <mbland@...orola.com>, Sami Tolvanen <samitolvanen@...gle.com>
Subject: [PATCH bpf-next v11 0/3] Support kCFI + BPF on arm64
Hi folks,
These patches add KCFI types to arm64 BPF JIT output. Puranjay and
Maxwell have been working on this for some time now, but I haven't
seen any progress since June 2024, so I decided to pick up the latest
version[1] posted by Maxwell and fix the few remaining issues I
noticed. I confirmed that with these patches applied, I no longer see
CFI failures in jitted code when running BPF self-tests on arm64.
[1] https://lore.kernel.org/linux-arm-kernel/ptrugmna4xb5o5lo4xislf4rlz7avdmd4pfho5fjwtjj7v422u@iqrwfrbwuxrq/
Sami
---
v11:
- Moved cfi_get_func_hash to a static inline with an ifdef guard.
- Picked by Will's Acked-by tags.
v10: https://lore.kernel.org/bpf/20250715225733.3921432-5-samitolvanen@google.com/
- Rebased to bpf-next/master again.
- Added a patch to moved duplicate type hash variables and helper
functions to common CFI code.
v9: https://lore.kernel.org/bpf/20250505223437.3722164-4-samitolvanen@google.com/
- Rebased to bpf-next/master to fix merge x86 merge conflicts.
- Fixed checkpatch warnings about Co-developed-by tags and including
<asm/cfi.h>.
- Picked up Tested-by tags.
v8: https://lore.kernel.org/bpf/20250310222942.1988975-4-samitolvanen@google.com/
- Changed DEFINE_CFI_TYPE to use .4byte to match __CFI_TYPE.
- Changed cfi_get_func_hash() to again use get_kernel_nofault().
- Fixed a panic in bpf_jit_free() by resetting prog->bpf_func before
calling bpf_jit_binary_pack_hdr().
---
Mark Rutland (1):
cfi: add C CFI type macro
Puranjay Mohan (1):
arm64/cfi,bpf: Support kCFI + BPF on arm64
Sami Tolvanen (1):
cfi: Move BPF CFI types and helpers to generic code
arch/arm64/include/asm/cfi.h | 7 +++++
arch/arm64/net/bpf_jit_comp.c | 22 +++++++++++++--
arch/riscv/include/asm/cfi.h | 16 -----------
arch/riscv/kernel/cfi.c | 53 -----------------------------------
arch/x86/include/asm/cfi.h | 10 ++-----
arch/x86/kernel/alternative.c | 37 ------------------------
include/linux/cfi.h | 47 +++++++++++++++++++++++++------
include/linux/cfi_types.h | 23 +++++++++++++++
kernel/cfi.c | 15 ++++++++++
9 files changed, 105 insertions(+), 125 deletions(-)
create mode 100644 arch/arm64/include/asm/cfi.h
base-commit: 0ee30d937c147fc14c4b49535181d437cd2fde7a
--
2.50.0.727.gbf7dc18ff4-goog
Powered by blists - more mailing lists