Alexei Starovoitov says: ==================== pull-request: bpf-next 2023-07-13 We've added 67 non-merge commits during the last 15 day(s) which contain a total of 106 files changed, 4444 insertions(+), 619 deletions(-). The main changes are: 1) Fix bpftool build in presence of stale vmlinux.h, from Alexander Lobakin. 2) Introduce bpf_me_mcache_free_rcu() and fix OOM under stress, from Alexei Starovoitov. 3) Teach verifier actual bounds of bpf_get_smp_processor_id() and fix perf+libbpf issue related to custom section handling, from Andrii Nakryiko. 4) Introduce bpf map element count, from Anton Protopopov. 5) Check skb ownership against full socket, from Kui-Feng Lee. 6) Support for up to 12 arguments in BPF trampoline, from Menglong Dong. 7) Export rcu_request_urgent_qs_task, from Paul E. McKenney. 8) Fix BTF walking of unions, from Yafang Shao. 9) Extend link_info for kprobe_multi and perf_event links, from Yafang Shao. * tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next: (67 commits) selftests/bpf: Add selftest for PTR_UNTRUSTED bpf: Fix an error in verifying a field in a union selftests/bpf: Add selftests for nested_trust bpf: Fix an error around PTR_UNTRUSTED selftests/bpf: add testcase for TRACING with 6+ arguments bpf, x86: allow function arguments up to 12 for TRACING bpf, x86: save/restore regs with BPF_DW size bpftool: Use "fallthrough;" keyword instead of comments bpf: Add object leak check. bpf: Convert bpf_cpumask to bpf_mem_cache_free_rcu. bpf: Introduce bpf_mem_free_rcu() similar to kfree_rcu(). selftests/bpf: Improve test coverage of bpf_mem_alloc. rcu: Export rcu_request_urgent_qs_task() bpf: Allow reuse from waiting_for_gp_ttrace list. bpf: Add a hint to allocated objects. bpf: Change bpf_mem_cache draining process. bpf: Further refactor alloc_bulk(). bpf: Factor out inc/dec of active flag into helpers. bpf: Refactor alloc_bulk(). bpf: Let free_all() return the number of freed elements. ... ====================
Showing the changes to include/uapi (1 of 106 files). Show all
Unified · Split
| @@ -1057,6 +1057,16 @@ enum bpf_link_type { · 1056 unmodified lines | ||
| 1057 | 1057 | MAX_BPF_LINK_TYPE, |
| 1058 | 1058 | }; |
| 1059 | 1059 | |
| 1060 | +enum bpf_perf_event_type { | |
| 1061 | + BPF_PERF_EVENT_UNSPEC = 0, | |
| 1062 | + BPF_PERF_EVENT_UPROBE = 1, | |
| 1063 | + BPF_PERF_EVENT_URETPROBE = 2, | |
| 1064 | + BPF_PERF_EVENT_KPROBE = 3, | |
| 1065 | + BPF_PERF_EVENT_KRETPROBE = 4, | |
| 1066 | + BPF_PERF_EVENT_TRACEPOINT = 5, | |
| 1067 | + BPF_PERF_EVENT_EVENT = 6, | |
| 1068 | +}; | |
| 1069 | + | |
| 1060 | 1070 | /* cgroup-bpf attach flags used in BPF_PROG_ATTACH command |
| 1061 | 1071 | * |
| 1062 | 1072 | * NONE(default): No further bpf programs allowed in the subtree. |
| @@ -6439,6 +6449,36 @@ struct bpf_link_info { · 5376 unmodified lines | ||
| 6439 | 6449 | __s32 priority; |
| 6440 | 6450 | __u32 flags; |
| 6441 | 6451 | } netfilter; |
| 6452 | + struct { | |
| 6453 | + __aligned_u64 addrs; | |
| 6454 | + __u32 count; /* in/out: kprobe_multi function count */ | |
| 6455 | + __u32 flags; | |
| 6456 | + } kprobe_multi; | |
| 6457 | + struct { | |
| 6458 | + __u32 type; /* enum bpf_perf_event_type */ | |
| 6459 | + __u32 :32; | |
| 6460 | + union { | |
| 6461 | + struct { | |
| 6462 | + __aligned_u64 file_name; /* in/out */ | |
| 6463 | + __u32 name_len; | |
| 6464 | + __u32 offset; /* offset from file_name */ | |
| 6465 | + } uprobe; /* BPF_PERF_EVENT_UPROBE, BPF_PERF_EVENT_URETPROBE */ | |
| 6466 | + struct { | |
| 6467 | + __aligned_u64 func_name; /* in/out */ | |
| 6468 | + __u32 name_len; | |
| 6469 | + __u32 offset; /* offset from func_name */ | |
| 6470 | + __u64 addr; | |
| 6471 | + } kprobe; /* BPF_PERF_EVENT_KPROBE, BPF_PERF_EVENT_KRETPROBE */ | |
| 6472 | + struct { | |
| 6473 | + __aligned_u64 tp_name; /* in/out */ | |
| 6474 | + __u32 name_len; | |
| 6475 | + } tracepoint; /* BPF_PERF_EVENT_TRACEPOINT */ | |
| 6476 | + struct { | |
| 6477 | + __u64 config; | |
| 6478 | + __u32 type; | |
| 6479 | + } event; /* BPF_PERF_EVENT_EVENT */ | |
| 6480 | + }; | |
| 6481 | + } perf_event; | |
| 6442 | 6482 | }; |
| 6443 | 6483 | } __attribute__((aligned(8))); |
| 6444 | 6484 | |