[PATCH v2 bpf-next 0/2] arm64/bpf: remove 128MB limit for BPF JIT programs

From: Alan Maguire
Date: Fri Nov 05 2021 - 12:52:00 EST


There is a 128MB limit on BPF JIT program allocations; this is
to ensure BPF programs are in branching range of each other.
Patch 1 in this series removes this restriction. To verify
exception handling still works, a test case to validate
exception handling in BPF programs is added in patch 2.

There was previous discussion around this topic [1], in particular
would be good to get feedback from Daniel if this approach makes
sense.

[1] https://lore.kernel.org/all/20181121131733.14910-1-ard.biesheuvel@xxxxxxxxxx/

Changes since v1:

- respin picked up changes in arm64 exception handling changes
which removed need for special BPF exception handling in patch 1
- made selftest use task creation/task_struct field instead to
minimize BPF selftests parallel runs, moved from CHECK()s
to ASSERT_*()s (Andrii, patch 2)

Alan Maguire (1):
selftests/bpf: add exception handling selftests for tp_bpf program

Russell King (1):
arm64/bpf: remove 128MB limit for BPF JIT programs

arch/arm64/include/asm/extable.h | 9 -----
arch/arm64/include/asm/memory.h | 5 +--
arch/arm64/kernel/traps.c | 2 +-
arch/arm64/mm/ptdump.c | 2 -
arch/arm64/net/bpf_jit_comp.c | 7 +---
tools/testing/selftests/bpf/prog_tests/exhandler.c | 43 ++++++++++++++++++++++
tools/testing/selftests/bpf/progs/exhandler_kern.c | 43 ++++++++++++++++++++++
7 files changed, 90 insertions(+), 21 deletions(-)
create mode 100644 tools/testing/selftests/bpf/prog_tests/exhandler.c
create mode 100644 tools/testing/selftests/bpf/progs/exhandler_kern.c

--
1.8.3.1