History

Merge tag 'bpf-next-6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next

Pull bpf updates from Alexei Starovoitov: - Fix and improve BTF deduplication of identical BTF types (Alan Maguire and Andrii Nakryiko) - Support up to 12 arguments in BPF trampoline on arm64 (Xu Kuohai and Alexis Lothoré) - Support load-acquire and store-release instructions in BPF JIT on riscv64 (Andrea Parri) - Fix uninitialized values in BPF_{CORE,PROBE}_READ macros (Anton Protopopov) - Streamline allowed helpers across program types (Feng Yang) - Support atomic update for hashtab of BPF maps (Hou Tao) - Implement json output for BPF helpers (Ihor Solodrai) - Several s390 JIT fixes (Ilya Leoshkevich) - Various sockmap fixes (Jiayuan Chen) - Support mmap of vmlinux BTF data (Lorenz Bauer) - Support BPF rbtree traversal and list peeking (Martin KaFai Lau) - Tests for sockmap/sockhash redirection (Michal Luczaj) - Introduce kfuncs for memory reads into dynptrs (Mykyta Yatsenko) - Add support for dma-buf iterators in BPF (T.J. Mercier) - The verifier support for __bpf_trap() (Yonghong Song) * tag 'bpf-next-6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next: (135 commits) bpf, arm64: Remove unused-but-set function and variable. selftests/bpf: Add tests with stack ptr register in conditional jmp bpf: Do not include stack ptr register in precision backtracking bookkeeping selftests/bpf: enable many-args tests for arm64 bpf, arm64: Support up to 12 function arguments bpf: Check rcu_read_lock_trace_held() in bpf_map_lookup_percpu_elem() bpf: Avoid __bpf_prog_ret0_warn when jit fails bpftool: Add support for custom BTF path in prog load/loadall selftests/bpf: Add unit tests with __bpf_trap() kfunc bpf: Warn with __bpf_trap() kfunc maybe due to uninitialized variable bpf: Remove special_kfunc_set from verifier selftests/bpf: Add test for open coded dmabuf_iter selftests/bpf: Add test for dmabuf_iter bpf: Add open coded dmabuf iterator bpf: Add dmabuf iterator dma-buf: Rename debugfs symbols bpf: Fix error return value in bpf_copy_from_user_dynptr libbpf: Use mmap to parse vmlinux BTF from sysfs selftests: bpf: Add a test for mmapable vmlinux BTF btf: Allow mmap of vmlinux btf ...

Linus Torvalds committed 1 year ago

Commit 90b83ef2 parents 1b98f35 c5cebb2108 files · +5801 −1713Browse files

Showing the changes to tools/include/uapi (1 of 108 files). Show all

Unified · Split

tools/include/uapi/linux/bpf.h+12−7
@@ -1506,7 +1506,7 @@ union bpf_attr { · 1505 unmodified lines
1506 __s32 map_token_fd;1506 __s32 map_token_fd;
1507 };1507 };
1508 1508
1509 struct { /* anonymous struct used by BPF_MAP_*_ELEM commands */1509 struct { /* anonymous struct used by BPF_MAP_*_ELEM and BPF_MAP_FREEZE commands */
1510 __u32 map_fd;1510 __u32 map_fd;
1511 __aligned_u64 key;1511 __aligned_u64 key;
1512 union {1512 union {
@@ -1995,11 +1995,15 @@ union bpf_attr { · 482 unmodified lines
1995 * long bpf_skb_store_bytes(struct sk_buff *skb, u32 offset, const void *from, u32 len, u64 flags)1995 * long bpf_skb_store_bytes(struct sk_buff *skb, u32 offset, const void *from, u32 len, u64 flags)
1996 * Description1996 * Description
1997 * Store *len* bytes from address *from* into the packet1997 * Store *len* bytes from address *from* into the packet
1998 * associated to *skb*, at *offset*. *flags* are a combination of1998 * associated to *skb*, at *offset*. The *flags* are a combination
1999 * **BPF_F_RECOMPUTE_CSUM** (automatically recompute the1999 * of the following values:
2000 * checksum for the packet after storing the bytes) and2000 *
2001 * **BPF_F_INVALIDATE_HASH** (set *skb*\ **->hash**, *skb*\2001 * **BPF_F_RECOMPUTE_CSUM**
2002 * **->swhash** and *skb*\ **->l4hash** to 0).2002 * Automatically update *skb*\ **->csum** after storing the
2003 * bytes.
2004 * **BPF_F_INVALIDATE_HASH**
2005 * Set *skb*\ **->hash**, *skb*\ **->swhash** and *skb*\
2006 * **->l4hash** to 0.
2003 *2007 *
2004 * A call to this helper is susceptible to change the underlying2008 * A call to this helper is susceptible to change the underlying
2005 * packet buffer. Therefore, at load time, all checks on pointers2009 * packet buffer. Therefore, at load time, all checks on pointers
@@ -2051,7 +2055,7 @@ union bpf_attr { · 45 unmodified lines
2051 * untouched (unless **BPF_F_MARK_ENFORCE** is added as well), and2055 * untouched (unless **BPF_F_MARK_ENFORCE** is added as well), and
2052 * for updates resulting in a null checksum the value is set to2056 * for updates resulting in a null checksum the value is set to
2053 * **CSUM_MANGLED_0** instead. Flag **BPF_F_PSEUDO_HDR** indicates2057 * **CSUM_MANGLED_0** instead. Flag **BPF_F_PSEUDO_HDR** indicates
2054 * the checksum is to be computed against a pseudo-header.2058 * that the modified header field is part of the pseudo-header.
2055 *2059 *
2056 * This helper works in combination with **bpf_csum_diff**\ (),2060 * This helper works in combination with **bpf_csum_diff**\ (),
2057 * which does not update the checksum in-place, but offers more2061 * which does not update the checksum in-place, but offers more
@@ -6723,6 +6727,7 @@ struct bpf_link_info { · 4665 unmodified lines
6723 __u32 name_len;6727 __u32 name_len;
6724 __u32 offset; /* offset from file_name */6728 __u32 offset; /* offset from file_name */
6725 __u64 cookie;6729 __u64 cookie;
6730 __u64 ref_ctr_offset;
6726 } uprobe; /* BPF_PERF_EVENT_UPROBE, BPF_PERF_EVENT_URETPROBE */6731 } uprobe; /* BPF_PERF_EVENT_UPROBE, BPF_PERF_EVENT_URETPROBE */
6727 struct {6732 struct {
6728 __aligned_u64 func_name; /* in/out */6733 __aligned_u64 func_name; /* in/out */