| /Linux-v6.6/tools/testing/selftests/bpf/progs/ | 
| D | user_ringbuf_fail.c | 30 bad_access1(struct bpf_dynptr *dynptr, void *context)  in bad_access1()  argument 34 	sample = bpf_dynptr_data(dynptr - 1, 0, sizeof(*sample));  in bad_access1() 35 	bpf_printk("Was able to pass bad pointer %lx\n", (__u64)dynptr - 1);  in bad_access1() 53 bad_access2(struct bpf_dynptr *dynptr, void *context)  in bad_access2()  argument 57 	sample = bpf_dynptr_data(dynptr + 1, 0, sizeof(*sample));  in bad_access2() 58 	bpf_printk("Was able to pass bad pointer %lx\n", (__u64)dynptr + 1);  in bad_access2() 76 write_forbidden(struct bpf_dynptr *dynptr, void *context)  in write_forbidden()  argument 78 	*((long *)dynptr) = 0;  in write_forbidden() 96 null_context_write(struct bpf_dynptr *dynptr, void *context)  in null_context_write()  argument 116 null_context_read(struct bpf_dynptr *dynptr, void *context)  in null_context_read()  argument [all …] 
 | 
| D | test_cls_redirect_dynptr.c | 123 static int pkt_parse_ipv4(struct bpf_dynptr *dynptr, __u64 *offset, struct iphdr *iphdr)  in pkt_parse_ipv4()  argument 125 	if (bpf_dynptr_read(iphdr, sizeof(*iphdr), dynptr, *offset, 0))  in pkt_parse_ipv4() 140 static bool pkt_parse_icmp_l4_ports(struct bpf_dynptr *dynptr, __u64 *offset, flow_ports_t *ports)  in pkt_parse_icmp_l4_ports()  argument 142 	if (bpf_dynptr_read(ports, sizeof(*ports), dynptr, *offset, 0))  in pkt_parse_icmp_l4_ports() 185 static bool pkt_skip_ipv6_extension_headers(struct bpf_dynptr *dynptr, __u64 *offset,  in pkt_skip_ipv6_extension_headers()  argument 213 			if (bpf_dynptr_read(&exthdr, sizeof(exthdr), dynptr, *offset, 0))  in pkt_skip_ipv6_extension_headers() 242 static int pkt_parse_ipv6(struct bpf_dynptr *dynptr, __u64 *offset, struct ipv6hdr *ipv6,  in pkt_parse_ipv6()  argument 245 	if (bpf_dynptr_read(ipv6, sizeof(*ipv6), dynptr, *offset, 0))  in pkt_parse_ipv6() 250 	if (!pkt_skip_ipv6_extension_headers(dynptr, offset, ipv6, proto, is_fragment))  in pkt_parse_ipv6() 291 static ret_t forward_with_gre(struct __sk_buff *skb, struct bpf_dynptr *dynptr,  in forward_with_gre()  argument [all …] 
 | 
| D | user_ringbuf_success.c | 38 record_sample(struct bpf_dynptr *dynptr, void *context)  in record_sample()  argument 46 		status = bpf_dynptr_read(&stack_sample, sizeof(stack_sample), dynptr, 0, 0);  in record_sample() 53 		sample = bpf_dynptr_data(dynptr, 0, sizeof(*sample));  in record_sample() 89 read_protocol_msg(struct bpf_dynptr *dynptr, void *context)  in read_protocol_msg()  argument 93 	msg = bpf_dynptr_data(dynptr, 0, sizeof(*msg));  in read_protocol_msg() 193 do_nothing_cb(struct bpf_dynptr *dynptr, void *context)  in do_nothing_cb()  argument
  | 
| /Linux-v6.6/tools/testing/selftests/bpf/ | 
| D | DENYLIST.s390x | 7 dynptr/test_dynptr_skb_data 8 dynptr/test_skb_readonly
  | 
| /Linux-v6.6/kernel/bpf/ | 
| D | ringbuf.c | 748 		struct bpf_dynptr_kern dynptr;  in BPF_CALL_4()  local 763 		bpf_dynptr_init(&dynptr, sample, BPF_DYNPTR_TYPE_LOCAL, 0, size);  in BPF_CALL_4() 764 		ret = callback((uintptr_t)&dynptr, (uintptr_t)callback_ctx, 0, 0, 0);  in BPF_CALL_4()
  | 
| D | verifier.c | 990 	if (!dynptr_type_refcounted(state->stack[spi].spilled_ptr.dynptr.type)) {  in unmark_stack_slots_dynptr() 1020 		if (state->stack[i].spilled_ptr.dynptr.first_slot)  in unmark_stack_slots_dynptr() 1054 	if (!state->stack[spi].spilled_ptr.dynptr.first_slot)  in destroy_if_dynptr_stack_slot() 1057 	if (dynptr_type_refcounted(state->stack[spi].spilled_ptr.dynptr.type)) {  in destroy_if_dynptr_stack_slot() 1139 	if (!state->stack[spi].spilled_ptr.dynptr.first_slot)  in is_dynptr_reg_valid_init() 1164 		return reg->dynptr.type == dynptr_type;  in is_dynptr_type_expected() 1169 		return state->stack[spi].spilled_ptr.dynptr.type == dynptr_type;  in is_dynptr_type_expected() 1475 			verbose(env, "=dynptr_%s", dynptr_type_str(reg->dynptr.type));  in print_verifier_state() 1954 	reg->dynptr.type = type;  in __mark_dynptr_reg() 1955 	reg->dynptr.first_slot = first_slot;  in __mark_dynptr_reg() [all …] 
 | 
| /Linux-v6.6/include/linux/ | 
| D | bpf_verifier.h | 115 		} dynptr;  member
  | 
| /Linux-v6.6/Documentation/bpf/ | 
| D | kfuncs.rst | 116 Here, the dynptr will be treated as an uninitialized dynptr. Without this 117 annotation, the verifier will reject the program if the dynptr passed in is
  |