Skip to content

Draft: BPF and XDP rebase to v5.17

Felix Maurer requested to merge fmaurer-rh/centos-stream-9:xdp-5.17 into main

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2069046
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2071620

This rebases BPF and XDP to upstream kernel version 5.17. Starting from
this MR, we will have one combined MR for BPF and XDP instead of
the previously two MRs.

Skipped commits

Unsupported arches:

e32cb12ff52a ("bpf, mips: Fix build errors about __NR_bpf undeclared")  
23b51916ee12 ("bpf ppc32: Add BPF_PROBE_MEM support for JIT")  
e919c0b2323b ("bpf ppc32: Access only if addr is kernel address")  
c07935cb3ccf ("riscv: bpf: move rv_bpf_fixup_exception signature to extable.h")  
ef127bca1129 ("riscv: extable: make fixup_exception() return bool")  
2bf847db0c74 ("riscv: extable: add `type` and `data` fields")  
fc839c6d33c8 ("riscv: bpf: Fix eBPF's exception tables")  
fab07611fb2e ("powerpc32/bpf: Fix codegen for bpf-to-bpf calls")  

Out of scope:

b89ddf4cca43 ("arm64/bpf: Remove 128MB limit for BPF JIT programs")                                    <- This one depends on arm64/extable patches  
d45476d98324 ("x86/speculation: Rename RETPOLINE_AMD to RETPOLINE_LFENCE")  
44a3918c8245 ("x86/speculation: Include unprivileged eBPF status in Spectre v2 mitigation reporting")  <- We don't have unprivileged bpf enabled  
4b5305decc84 ("x86/extable: Extend extable functionality")  
484a8ed8b7d1 ("s390/extable: add dedicated uaccess handler")  
334865b2915c ("x86/extable: Prefer local labels in .set directives")  
f9a3099f794c ("s390/nospec: prefer local labels in .set directives")  
68a971acc948 ("s390/extable: prefer local labels in .set directives")  
5ce7ab4961a9 ("af_unix: Remove UNIX_ABSTRACT() macro and test sun_path[0] instead.")  
b6459415b384 ("net: Don't include filter.h from net/sock.h")                                           <- Nice to have but does not apply cleanly  

Important omitted fixes

We are leaving f858c2b2ca04 ("bpf: Fix calling global functions from BPF_PROG_TYPE_EXT programs") out of this backport since it is dependent on not-so-small parts of Introduce unstable CT lookup helpers patchset. Given these are from 5.18 which is also planned for 9.2, we figured it will be easier to include this fix with that backport. If we really want this fix along with 5.17 backport we can use v1 of this patch instead which does not rely on resolve_prog_type().

Signed-off-by: Artem Savkov asavkov@redhat.com
Signed-off-by: Felix Maurer fmaurer@redhat.com

Edited by Felix Maurer

Merge request reports