diff options
| author | KaFai Wan <[email protected]> | 2025-09-09 14:46:14 +0000 |
|---|---|---|
| committer | Alexei Starovoitov <[email protected]> | 2025-09-09 22:12:16 +0000 |
| commit | df0cb5cb50bd54d3cd4d0d83417ceec6a66404aa (patch) | |
| tree | 5338fcf6305e46c84134cb0a2ab1b87b142450ef /tools/testing/selftests/bpf/prog_tests/timer.c | |
| parent | rqspinlock: Choose trylock fallback for NMI waiters (diff) | |
| download | kernel-df0cb5cb50bd54d3cd4d0d83417ceec6a66404aa.tar.gz kernel-df0cb5cb50bd54d3cd4d0d83417ceec6a66404aa.zip | |
bpf: Allow fall back to interpreter for programs with stack size <= 512
OpenWRT users reported regression on ARMv6 devices after updating to latest
HEAD, where tcpdump filter:
tcpdump "not ether host 3c37121a2b3c and not ether host 184ecbca2a3a \
and not ether host 14130b4d3f47 and not ether host f0f61cf440b7 \
and not ether host a84b4dedf471 and not ether host d022be17e1d7 \
and not ether host 5c497967208b and not ether host 706655784d5b"
fails with warning: "Kernel filter failed: No error information"
when using config:
# CONFIG_BPF_JIT_ALWAYS_ON is not set
CONFIG_BPF_JIT_DEFAULT_ON=y
The issue arises because commits:
1. "bpf: Fix array bounds error with may_goto" changed default runtime to
__bpf_prog_ret0_warn when jit_requested = 1
2. "bpf: Avoid __bpf_prog_ret0_warn when jit fails" returns error when
jit_requested = 1 but jit fails
This change restores interpreter fallback capability for BPF programs with
stack size <= 512 bytes when jit fails.
Reported-by: Felix Fietkau <[email protected]>
Closes: https://lore.kernel.org/bpf/[email protected]/
Fixes: 6ebc5030e0c5 ("bpf: Fix array bounds error with may_goto")
Signed-off-by: KaFai Wan <[email protected]>
Acked-by: Eduard Zingerman <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Alexei Starovoitov <[email protected]>
Diffstat (limited to 'tools/testing/selftests/bpf/prog_tests/timer.c')
0 files changed, 0 insertions, 0 deletions
