Function bpf_fill_maxinsns11 is designed to not be able to be JITed on x86_64. So, it fails when CONFIG_BPF_JIT_ALWAYS_ON=y, and commit 09584b406742 ("bpf: fix selftests/bpf test_kmod.sh failure when CONFIG_BPF_JIT_ALWAYS_ON=y") makes sure that failure is detected on that case. However, it does not fail on other architectures, which have a different JIT compiler design. So, test_bpf has started to fail to load on those. After this fix, test_bpf loads fine on both x86_64 and ppc64el.
Unified · Split
| @@ -5467,7 +5467,7 @@ static struct bpf_test tests[] = { · 5466 unmodified lines | ||
| 5467 | 5467 | { |
| 5468 | 5468 | "BPF_MAXINSNS: Jump, gap, jump, ...", |
| 5469 | 5469 | { }, |
| 5470 | −#ifdef CONFIG_BPF_JIT_ALWAYS_ON | |
| 5470 | +#if defined(CONFIG_BPF_JIT_ALWAYS_ON) && defined(CONFIG_X86) | |
| 5471 | 5471 | CLASSIC | FLAG_NO_DATA | FLAG_EXPECTED_FAIL, |
| 5472 | 5472 | #else |
| 5473 | 5473 | CLASSIC | FLAG_NO_DATA, |