1 // SPDX-License-Identifier: GPL-2.0
2 
3 #include "vmlinux.h"
4 #include <bpf/bpf_tracing.h>
5 #include <bpf/bpf_helpers.h>
6 
7 #include "bpf_misc.h"
8 
9 char _license[] SEC("license") = "GPL";
10 
11 int bpf_sock_destroy(struct sock_common *sk) __ksym;
12 
13 SEC("tp_btf/tcp_destroy_sock")
14 __failure __msg("calling kernel function bpf_sock_destroy is not allowed")
15 int BPF_PROG(trace_tcp_destroy_sock, struct sock *sk)
16 {
17 	/* should not load */
18 	bpf_sock_destroy((struct sock_common *)sk);
19 
20 	return 0;
21 }
22 
23