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