[PATCH bpf-next v4 0/3] Support kCFI + BPF on arm64

From: Maxwell Bland
Date: Mon May 13 2024 - 10:09:47 EST


For the BPF summit meeting tomorrow, I might as well have a mergable
version. I took a look back on BPF-CFI patches to check the status and
found that there had been no updates for around a month, so I went ahead
and made the fixes suggested in v2.

E.g.
ffff80008021d5a4 <reuseport_array_lookup_elem>:
ffff80008021d5a4: d503245f bti c

Potentially this should be replaced by a proper paciasp + autiasp, but I
suppose if we can assume the verifier provides back-edge integrity.

Changes in v3->v4
https://lore.kernel.org/all/fhdcjdzqdqnoehenxbipfaorseeamt3q7fbm7ghe6z5s2chif5@lrhtasolawud/
- Fix authorship attribution

Changes in v2->v3:
https://lore.kernel.org/all/20240324211518.93892-1-puranjay12@xxxxxxxxx/
- Simplify cfi_get_func_hash to avoid needless failure case
- Use DEFINE_CFI_TYPE as suggested by Mark Rutland

Changes in v1->v2:
https://lore.kernel.org/bpf/20240227151115.4623-1-puranjay12@xxxxxxxxx/
- Rebased on latest bpf-next/master

Mark Rutland (1):
cfi: add C CFI type macro

Maxwell Bland (1):
arm64/cfi,bpf: Use DEFINE_CFI_TYPE in arm64

Puranjay Mohan (1):
arm64/cfi,bpf: Support kCFI + BPF on arm64

arch/arm64/include/asm/cfi.h | 23 ++++++++++++++++++++++
arch/arm64/kernel/alternative.c | 18 +++++++++++++++++
arch/arm64/net/bpf_jit_comp.c | 18 +++++++++++++++--
arch/riscv/kernel/cfi.c | 34 ++------------------------------
arch/x86/kernel/alternative.c | 35 +++------------------------------
include/linux/cfi_types.h | 23 ++++++++++++++++++++++
6 files changed, 85 insertions(+), 66 deletions(-)
create mode 100644 arch/arm64/include/asm/cfi.h


base-commit: 329a6720a3ebbc041983b267981ab2cac102de93
--
2.34.1