OSDN Git Service

selftests/bpf: Fix vmlinux test on s390x
authorIlya Leoshkevich <iii@linux.ibm.com>
Sat, 28 Jan 2023 00:06:36 +0000 (01:06 +0100)
committerAlexei Starovoitov <ast@kernel.org>
Sat, 28 Jan 2023 20:30:09 +0000 (12:30 -0800)
Use a syscall macro to access the nanosleep()'s first argument;
currently the code uses gprs[2] instead of orig_gpr2.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Link: https://lore.kernel.org/r/20230128000650.1516334-18-iii@linux.ibm.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/progs/test_vmlinux.c

index e9dfa03..4b8e37f 100644 (file)
@@ -42,7 +42,7 @@ int BPF_PROG(handle__raw_tp, struct pt_regs *regs, long id)
        if (id != __NR_nanosleep)
                return 0;
 
-       ts = (void *)PT_REGS_PARM1_CORE(regs);
+       ts = (void *)PT_REGS_PARM1_CORE_SYSCALL(regs);
        if (bpf_probe_read_user(&tv_nsec, sizeof(ts->tv_nsec), &ts->tv_nsec) ||
            tv_nsec != MY_TV_NSEC)
                return 0;
@@ -60,7 +60,7 @@ int BPF_PROG(handle__tp_btf, struct pt_regs *regs, long id)
        if (id != __NR_nanosleep)
                return 0;
 
-       ts = (void *)PT_REGS_PARM1_CORE(regs);
+       ts = (void *)PT_REGS_PARM1_CORE_SYSCALL(regs);
        if (bpf_probe_read_user(&tv_nsec, sizeof(ts->tv_nsec), &ts->tv_nsec) ||
            tv_nsec != MY_TV_NSEC)
                return 0;