History

Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next

Daniel Borkmann says: ==================== bpf-next 2018-11-30 The following pull-request contains BPF updates for your *net-next* tree. (Getting out bit earlier this time to pull in a dependency from bpf.) The main changes are: 1) Add libbpf ABI versioning and document API naming conventions as well as ABI versioning process, from Andrey. 2) Add a new sk_msg_pop_data() helper for sk_msg based BPF programs that is used in conjunction with sk_msg_push_data() for adding / removing meta data to the msg data, from John. 3) Optimize convert_bpf_ld_abs() for 0 offset and fix various lib and testsuite build failures on 32 bit, from David. 4) Make BPF prog dump for !JIT identical to how we dump subprogs when JIT is in use, from Yonghong. 5) Rename btf_get_from_id() to make it more conform with libbpf API naming conventions, from Martin. 6) Add a missing BPF kselftest config item, from Naresh. ====================

David S. Miller committed 7 years ago

Commit 93029d72 parents 3d58c9c b42699525 files · +760 −115Browse files

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

Unified · Split

tools/include/uapi/linux/bpf.h+15−1
@@ -2268,6 +2268,19 @@ union bpf_attr { · 2267 unmodified lines
22682268 *
22692269 * Return
22702270 * 0 on success, or a negative error in case of failure.
2271+ *
2272+ * int bpf_msg_pop_data(struct sk_msg_buff *msg, u32 start, u32 pop, u64 flags)
2273+ * Description
2274+ * Will remove *pop* bytes from a *msg* starting at byte *start*.
2275+ * This may result in **ENOMEM** errors under certain situations if
2276+ * an allocation and copy are required due to a full ring buffer.
2277+ * However, the helper will try to avoid doing the allocation
2278+ * if possible. Other errors can occur if input parameters are
2279+ * invalid either due to *start* byte not being valid part of msg
2280+ * payload and/or *pop* value being to large.
2281+ *
2282+ * Return
2283+ * 0 on success, or a negative erro in case of failure.
22712284 */
22722285 #define __BPF_FUNC_MAPPER(FN) \
22732286 FN(unspec), \
@@ -2360,7 +2373,8 @@ union bpf_attr { · 86 unmodified lines
23602373 FN(map_push_elem), \
23612374 FN(map_pop_elem), \
23622375 FN(map_peek_elem), \
2363− FN(msg_push_data),
2376+ FN(msg_push_data), \
2377+ FN(msg_pop_data),
23642378
23652379 /* integer value in 'imm' field of BPF_CALL instruction selects which helper
23662380 * function eBPF program intends to call