1eddbe8e6SAlexei Starovoitov // SPDX-License-Identifier: GPL-2.0
2eddbe8e6SAlexei Starovoitov /* Copyright (c) 2021 Facebook */
3eddbe8e6SAlexei Starovoitov #include "vmlinux.h"
4eddbe8e6SAlexei Starovoitov #include <bpf/bpf_helpers.h>
5eddbe8e6SAlexei Starovoitov #include <bpf/bpf_tracing.h>
6*e91d280cSNaveen N. Rao #include "bpf_misc.h"
7eddbe8e6SAlexei Starovoitov 
8eddbe8e6SAlexei Starovoitov char LICENSE[] SEC("license") = "GPL";
9eddbe8e6SAlexei Starovoitov 
10eddbe8e6SAlexei Starovoitov int pid = 0;
11eddbe8e6SAlexei Starovoitov int fentry_cnt = 0;
12eddbe8e6SAlexei Starovoitov int fexit_cnt = 0;
13eddbe8e6SAlexei Starovoitov 
14*e91d280cSNaveen N. Rao SEC("fentry/" SYS_PREFIX "sys_nanosleep")
nanosleep_fentry(void * ctx)15*e91d280cSNaveen N. Rao int nanosleep_fentry(void *ctx)
16eddbe8e6SAlexei Starovoitov {
175db02dd7SYucong Sun 	if (bpf_get_current_pid_tgid() >> 32 != pid)
18eddbe8e6SAlexei Starovoitov 		return 0;
19eddbe8e6SAlexei Starovoitov 
20eddbe8e6SAlexei Starovoitov 	fentry_cnt++;
21eddbe8e6SAlexei Starovoitov 	return 0;
22eddbe8e6SAlexei Starovoitov }
23eddbe8e6SAlexei Starovoitov 
24*e91d280cSNaveen N. Rao SEC("fexit/" SYS_PREFIX "sys_nanosleep")
nanosleep_fexit(void * ctx)25*e91d280cSNaveen N. Rao int nanosleep_fexit(void *ctx)
26eddbe8e6SAlexei Starovoitov {
275db02dd7SYucong Sun 	if (bpf_get_current_pid_tgid() >> 32 != pid)
28eddbe8e6SAlexei Starovoitov 		return 0;
29eddbe8e6SAlexei Starovoitov 
30eddbe8e6SAlexei Starovoitov 	fexit_cnt++;
31eddbe8e6SAlexei Starovoitov 	return 0;
32eddbe8e6SAlexei Starovoitov }
33