Home
last modified time | relevance | path

Searched refs:bpf_dynptr_slice (Results 1 – 17 of 17) sorted by relevance

/linux/tools/testing/selftests/bpf/progs/
H A Dip_check_defrag.c49 iph = bpf_dynptr_slice(&ptr, 0, iph_buf, sizeof(iph_buf)); in handle_v4()
71 ip6h = bpf_dynptr_slice(&ptr, 0, ip6h_buf, sizeof(ip6h_buf)); in handle_v6()
H A Dverifier_netfilter_ctx.c100 iph = bpf_dynptr_slice(&ptr, 0, buffer_iph, sizeof(buffer_iph)); in with_valid_ctx_access_test6()
109 th = bpf_dynptr_slice(&ptr, ihl, buffer_th, sizeof(buffer_th)); in with_valid_ctx_access_test6()
H A Dtest_l4lb_noinline_dynptr.c242 icmp_hdr = bpf_dynptr_slice(skb_ptr, off, buffer, sizeof(buffer)); in parse_icmpv6()
249 ip6h = bpf_dynptr_slice(skb_ptr, off, buffer, sizeof(buffer)); in parse_icmpv6()
267 icmp_hdr = bpf_dynptr_slice(skb_ptr, off, buffer_icmp, sizeof(buffer_icmp)); in parse_icmp()
274 iph = bpf_dynptr_slice(skb_ptr, off, buffer_ip, sizeof(buffer_ip)); in parse_icmp()
290 udp = bpf_dynptr_slice(skb_ptr, off, buffer, sizeof(buffer)); in parse_udp()
310 tcp = bpf_dynptr_slice(skb_ptr, off, buffer, sizeof(buffer)); in parse_tcp()
354 ip6h = bpf_dynptr_slice(skb_ptr, off, buffer, sizeof(buffer)); in process_packet()
377 iph = bpf_dynptr_slice(skb_ptr, off, buffer, sizeof(buffer)); in process_packet()
H A Dtest_xdp_dynptr.c99 iph = bpf_dynptr_slice(xdp_ptr, ethhdr_sz, iph_buffer_udp, sizeof(iph_buffer_udp)); in handle_ipv4()
101 iph = bpf_dynptr_slice(xdp_ptr, ethhdr_sz, iph_buffer_tcp, sizeof(iph_buffer_tcp)); in handle_ipv4()
178 ip6h = bpf_dynptr_slice(xdp_ptr, ethhdr_sz, ip6h_buffer_udp, sizeof(ip6h_buffer_udp)); in handle_ipv6()
180 ip6h = bpf_dynptr_slice(xdp_ptr, ethhdr_sz, ip6h_buffer_tcp, sizeof(ip6h_buffer_tcp)); in handle_ipv6()
241 eth = bpf_dynptr_slice(&ptr, 0, buffer, sizeof(buffer)); in _xdp_tx_iptunnel()
H A Dtest_parse_tcp_hdr_opt_dynptr.c39 data = bpf_dynptr_slice(ptr, *off, buffer, sizeof(buffer)); in parse_hdr_opt()
90 tcp_hdr = bpf_dynptr_slice(&ptr, off, buffer, sizeof(buffer)); in xdp_ingress_v6()
H A Ddynptr_fail.c1144 hdr = bpf_dynptr_slice(&ptr, 0, buffer, sizeof(buffer)); in skb_invalid_slice_write()
1164 md = bpf_dynptr_slice(&meta, 0, NULL, sizeof(*md)); in skb_meta_invalid_slice_write()
1185 hdr = bpf_dynptr_slice(&ptr, 0, buffer, sizeof(buffer)); in skb_invalid_data_slice1()
1238 hdr = bpf_dynptr_slice(&ptr, 0, buffer, sizeof(buffer)); in skb_invalid_data_slice3()
1288 d = bpf_dynptr_slice(&data, 0, NULL, sizeof(*d)); in ro_skb_slice_invalid_after_metadata_write()
1334 md = bpf_dynptr_slice(&meta, 0, NULL, sizeof(*md)); in ro_skb_meta_slice_invalid_after_payload_write()
1379 md = bpf_dynptr_slice(&meta, 0, NULL, sizeof(*md)); in ro_skb_meta_slice_invalid_after_payload_helper()
1425 md = bpf_dynptr_slice(&meta, 0, NULL, sizeof(*md)); in ro_skb_meta_slice_invalid_after_metadata_write()
1469 hdr = bpf_dynptr_slice(&ptr, 0, buffer, sizeof(buffer)); in xdp_invalid_data_slice1()
1603 hdr = bpf_dynptr_slice(&ptr, 0, buffer, hdr_size); in dynptr_slice_var_len1()
[all …]
H A Dtest_xdp_meta.c101 src = bpf_dynptr_slice(&data, sizeof(struct ethhdr), NULL, META_SIZE); in ing_cls_dynptr_write()
119 meta_have = bpf_dynptr_slice(&meta, 0, NULL, META_SIZE); in ing_cls_dynptr_slice()
139 src = bpf_dynptr_slice(&data, sizeof(struct ethhdr), NULL, META_SIZE); in ing_cls_dynptr_slice_rdwr()
179 src = bpf_dynptr_slice(&meta, 2 * chunk_len, NULL, chunk_len); in ing_cls_dynptr_offset_rd()
260 p = bpf_dynptr_slice(&meta, META_SIZE, NULL, sizeof(*p)); in ing_cls_dynptr_offset_oob()
H A Dverifier_mem_size_reg.c24 p = bpf_dynptr_slice(&dptr, 0, NULL, 8); in dynptr_slice_null_buf_size_precise()
H A Dverifier_map_lookup_refine.c40 p = bpf_dynptr_slice(&dptr, 0, inner, 4); in mapofmaps_value_as_kfunc_mem_buf()
H A Dmem_rdonly_untrusted.c281 p = bpf_dynptr_slice(&dptr, 0, buf, sizeof(buf)); in mixed_rdonly_mem_btf_id_type()
H A Dverifier_global_subprogs.c500 d = bpf_dynptr_slice(dptr, 0, &buf, sizeof(long)); in subprog_dynptr()
H A Ddynptr_success.c204 /* This should return NULL. Must use bpf_dynptr_slice API */ in test_dynptr_skb_data()
226 /* This should return NULL. Must use bpf_dynptr_slice API */ in test_adjust()
579 data = bpf_dynptr_slice(&ptr, 0, NULL, 1); in bpf_memcmp()
596 data = bpf_dynptr_slice(&ptr, 0, NULL, 10); in test_dynptr_copy()
H A Dtest_tunnel_kern.c996 iph = bpf_dynptr_slice(&ptr, off, iph_buf, sizeof(iph_buf)); in xfrm_get_state_xdp()
1001 esph = bpf_dynptr_slice(&ptr, off, esph_buf, sizeof(esph_buf)); in xfrm_get_state_xdp()
/linux/tools/testing/selftests/bpf/
H A Dbpf_kfuncs.h31 extern void *bpf_dynptr_slice(const struct bpf_dynptr *ptr, __u64 offset,
/linux/kernel/bpf/
H A Dhelpers.c3051 __bpf_kfunc void *bpf_dynptr_slice(const struct bpf_dynptr *p, u64 offset, in bpf_dynptr_slice() function
3171 return bpf_dynptr_slice(p, offset, buffer__nullable, buffer__szk); in bpf_dynptr_slice_rdwr()
3256 src_slice = bpf_dynptr_slice(src_ptr, src_off, NULL, size); in bpf_dynptr_copy()
4889 BTF_ID_FLAGS(func, bpf_dynptr_slice, KF_RET_NULL)
5019 return bpf_dynptr_slice(p, 0, NULL, len); in __bpf_dynptr_data()
H A Dverifier.c11695 BTF_ID(func, bpf_dynptr_slice) in BTF_ID()
/linux/Documentation/bpf/
H A Dkfuncs.rst203 __bpf_kfunc void *bpf_dynptr_slice(..., void *buffer__nullable,