Pull bpf fixes from Daniel Borkmann: - Fix BPF verifier to not affect subreg_def marks in its range propagation (Eduard Zingerman) - Fix a truncation bug in the BPF verifier's handling of coerce_reg_to_size_sx (Dimitar Kanaliev) - Fix the BPF verifier's delta propagation between linked registers under 32-bit addition (Daniel Borkmann) - Fix a NULL pointer dereference in BPF devmap due to missing rxq information (Florian Kauer) - Fix a memory leak in bpf_core_apply (Jiri Olsa) - Fix an UBSAN-reported array-index-out-of-bounds in BTF parsing for arrays of nested structs (Hou Tao) - Fix build ID fetching where memory areas backing the file were created with memfd_secret (Andrii Nakryiko) - Fix BPF task iterator tid filtering which was incorrectly using pid instead of tid (Jordan Rome) - Several fixes for BPF sockmap and BPF sockhash redirection in combination with vsocks (Michal Luczaj) - Fix riscv BPF JIT and make BPF_CMPXCHG fully ordered (Andrea Parri) - Fix riscv BPF JIT under CONFIG_CFI_CLANG to prevent the possibility of an infinite BPF tailcall (Pu Lehui) - Fix a build warning from resolve_btfids that bpf_lsm_key_free cannot be resolved (Thomas Weißschuh) - Fix a bug in kfunc BTF caching for modules where the wrong BTF object was returned (Toke Høiland-Jørgensen) - Fix a BPF selftest compilation error in cgroup-related tests with musl libc (Tony Ambardar) - Several fixes to BPF link info dumps to fill missing fields (Tyrone Wu) - Add BPF selftests for kfuncs from multiple modules, checking that the correct kfuncs are called (Simon Sundberg) - Ensure that internal and user-facing bpf_redirect flags don't overlap (Toke Høiland-Jørgensen) - Switch to use kvzmalloc to allocate BPF verifier environment (Rik van Riel) - Use raw_spinlock_t in BPF ringbuf to fix a sleep in atomic splat under RT (Wander Lairson Costa) * tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf: (38 commits) lib/buildid: Handle memfd_secret() files in build_id_parse() selftests/bpf: Add test case for delta propagation bpf: Fix print_reg_state's constant scalar dump bpf: Fix incorrect delta propagation between linked registers bpf: Properly test iter/task tid filtering bpf: Fix iter/task tid filtering riscv, bpf: Make BPF_CMPXCHG fully ordered bpf, vsock: Drop static vsock_bpf_prot initialization vsock: Update msg_count on read_skb() vsock: Update rx_bytes on read_skb() bpf, sockmap: SK_DROP on attempted redirects of unsupported af_vsock selftests/bpf: Add asserts for netfilter link info bpf: Fix link info netfilter flags to populate defrag flag selftests/bpf: Add test for sign extension in coerce_subreg_to_size_sx() selftests/bpf: Add test for truncation after sign extension in coerce_reg_to_size_sx() bpf: Fix truncation bug in coerce_reg_to_size_sx() selftests/bpf: Assert link info uprobe_multi count & path_size if unset bpf: Fix unpopulated path_size when uprobe_multi fields unset selftests/bpf: Fix cross-compiling urandom_read selftests/bpf: Add test for kfunc module order ...
Showing the changes to include/uapi/linux (1 of 42 files). Show all
Unified · Split
| @@ -6047,11 +6047,6 @@ enum { · 6046 unmodified lines | ||
| 6047 | 6047 | BPF_F_MARK_ENFORCE = (1ULL << 6), |
| 6048 | 6048 | }; |
| 6049 | 6049 | |
| 6050 | −/* BPF_FUNC_clone_redirect and BPF_FUNC_redirect flags. */ | |
| 6051 | −enum { | |
| 6052 | − BPF_F_INGRESS = (1ULL << 0), | |
| 6053 | −}; | |
| 6054 | − | |
| 6055 | 6050 | /* BPF_FUNC_skb_set_tunnel_key and BPF_FUNC_skb_get_tunnel_key flags. */ |
| 6056 | 6051 | enum { |
| 6057 | 6052 | BPF_F_TUNINFO_IPV6 = (1ULL << 0), |
| @@ -6198,10 +6193,12 @@ enum { · 140 unmodified lines | ||
| 6198 | 6193 | BPF_F_BPRM_SECUREEXEC = (1ULL << 0), |
| 6199 | 6194 | }; |
| 6200 | 6195 | |
| 6201 | −/* Flags for bpf_redirect_map helper */ | |
| 6196 | +/* Flags for bpf_redirect and bpf_redirect_map helpers */ | |
| 6202 | 6197 | enum { |
| 6203 | − BPF_F_BROADCAST = (1ULL << 3), | |
| 6204 | − BPF_F_EXCLUDE_INGRESS = (1ULL << 4), | |
| 6198 | + BPF_F_INGRESS = (1ULL << 0), /* used for skb path */ | |
| 6199 | + BPF_F_BROADCAST = (1ULL << 3), /* used for XDP path */ | |
| 6200 | + BPF_F_EXCLUDE_INGRESS = (1ULL << 4), /* used for XDP path */ | |
| 6201 | +#define BPF_F_REDIRECT_FLAGS (BPF_F_INGRESS | BPF_F_BROADCAST | BPF_F_EXCLUDE_INGRESS) | |
| 6205 | 6202 | }; |
| 6206 | 6203 | |
| 6207 | 6204 | #define __bpf_md_ptr(type, name) \ |