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. Raoint 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. Raoint 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