1c8a36aedSDaniel Xu // SPDX-License-Identifier: GPL-2.0
2c8a36aedSDaniel Xu 
3c8a36aedSDaniel Xu #include <linux/bpf.h>
4c8a36aedSDaniel Xu #include <bpf/bpf_helpers.h>
5c8a36aedSDaniel Xu #include <bpf/bpf_tracing.h>
6c8a36aedSDaniel Xu 
7c8a36aedSDaniel Xu #include <sys/types.h>
8c8a36aedSDaniel Xu 
9c8a36aedSDaniel Xu pid_t pid = 0;
10c8a36aedSDaniel Xu long ret = 0;
11c8a36aedSDaniel Xu void *user_ptr = 0;
12c8a36aedSDaniel Xu char buf[256] = {};
13c8a36aedSDaniel Xu 
14c8a36aedSDaniel Xu SEC("tracepoint/syscalls/sys_enter_nanosleep")
on_write(void * ctx)15c8a36aedSDaniel Xu int on_write(void *ctx)
16c8a36aedSDaniel Xu {
17c8a36aedSDaniel Xu 	if (pid != (bpf_get_current_pid_tgid() >> 32))
18c8a36aedSDaniel Xu 		return 0;
19c8a36aedSDaniel Xu 
20c8a36aedSDaniel Xu 	ret = bpf_probe_read_user_str(buf, sizeof(buf), user_ptr);
21c8a36aedSDaniel Xu 
22c8a36aedSDaniel Xu 	return 0;
23c8a36aedSDaniel Xu }
24c8a36aedSDaniel Xu 
25c8a36aedSDaniel Xu char _license[] SEC("license") = "GPL";
26