selftests/bpf: Fix pid check in fexit_sleep test
authorYucong Sun <sunyucong@gmail.com>
Wed, 6 Oct 2021 18:56:17 +0000 (11:56 -0700)
committerAndrii Nakryiko <andrii@kernel.org>
Fri, 8 Oct 2021 22:17:00 +0000 (15:17 -0700)
bpf_get_current_pid_tgid() returns u64, whose upper 32 bits are the same
as userspace getpid() return value.

Signed-off-by: Yucong Sun <sunyucong@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20211006185619.364369-13-fallentree@fb.com
tools/testing/selftests/bpf/progs/fexit_sleep.c

index 03a672d..bca92c9 100644 (file)
@@ -13,7 +13,7 @@ int fexit_cnt = 0;
 SEC("fentry/__x64_sys_nanosleep")
 int BPF_PROG(nanosleep_fentry, const struct pt_regs *regs)
 {
-       if ((int)bpf_get_current_pid_tgid() != pid)
+       if (bpf_get_current_pid_tgid() >> 32 != pid)
                return 0;
 
        fentry_cnt++;
@@ -23,7 +23,7 @@ int BPF_PROG(nanosleep_fentry, const struct pt_regs *regs)
 SEC("fexit/__x64_sys_nanosleep")
 int BPF_PROG(nanosleep_fexit, const struct pt_regs *regs, int ret)
 {
-       if ((int)bpf_get_current_pid_tgid() != pid)
+       if (bpf_get_current_pid_tgid() >> 32 != pid)
                return 0;
 
        fexit_cnt++;