diff --git a/tools/testing/selftests/bpf/progs/verifier_sock.c b/tools/testing/selftests/bpf/progs/verifier_sock.c index 3c8f6646e33d..e85f0f1deac7 100644 --- a/tools/testing/selftests/bpf/progs/verifier_sock.c +++ b/tools/testing/selftests/bpf/progs/verifier_sock.c @@ -50,13 +50,6 @@ struct { __uint(map_flags, BPF_F_NO_PREALLOC); } sk_storage_map SEC(".maps"); -struct { - __uint(type, BPF_MAP_TYPE_PROG_ARRAY); - __uint(max_entries, 1); - __uint(key_size, sizeof(__u32)); - __uint(value_size, sizeof(__u32)); -} jmp_table SEC(".maps"); - SEC("cgroup/skb") __description("skb->sk: no NULL check") __failure __msg("invalid mem access 'sock_common_or_null'") @@ -1012,25 +1005,4 @@ int invalidate_pkt_pointers_from_global_func(struct __sk_buff *sk) return TCX_PASS; } -__noinline -int tail_call(struct __sk_buff *sk) -{ - bpf_tail_call_static(sk, &jmp_table, 0); - return 0; -} - -/* Tail calls invalidate packet pointers. */ -SEC("tc") -__failure __msg("invalid mem access") -int invalidate_pkt_pointers_by_tail_call(struct __sk_buff *sk) -{ - int *p = (void *)(long)sk->data; - - if ((void *)(p + 1) > (void *)(long)sk->data_end) - return TCX_DROP; - tail_call(sk); - *p = 42; /* this is unsafe */ - return TCX_PASS; -} - char _license[] SEC("license") = "GPL";