]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
selftests/bpf: Use __NR_prlimit64 instead of __NR_getrlimit in user_ringbuf test
authorTiezhu Yang <yangtiezhu@loongson.cn>
Fri, 24 Feb 2023 10:36:55 +0000 (18:36 +0800)
committerAndrii Nakryiko <andrii@kernel.org>
Mon, 27 Feb 2023 17:49:40 +0000 (09:49 -0800)
After commit 80d7da1cac62 ("asm-generic: Drop getrlimit and setrlimit
syscalls from default list"), new architectures won't need to include
getrlimit and setrlimit, they are superseded with prlimit64.

In order to maintain compatibility for the new architectures, such as
LoongArch which does not define __NR_getrlimit, it is better to use
__NR_prlimit64 instead of __NR_getrlimit in user_ringbuf test to fix
the following build error:

    TEST-OBJ [test_progs] user_ringbuf.test.o
  tools/testing/selftests/bpf/prog_tests/user_ringbuf.c: In function 'kick_kernel_cb':
  tools/testing/selftests/bpf/prog_tests/user_ringbuf.c:593:17: error: '__NR_getrlimit' undeclared (first use in this function)
    593 |         syscall(__NR_getrlimit);
        |                 ^~~~~~~~~~~~~~
  tools/testing/selftests/bpf/prog_tests/user_ringbuf.c:593:17: note: each undeclared identifier is reported only once for each function it appears in
  make: *** [Makefile:573: tools/testing/selftests/bpf/user_ringbuf.test.o] Error 1
  make: Leaving directory 'tools/testing/selftests/bpf'

Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/1677235015-21717-4-git-send-email-yangtiezhu@loongson.cn
tools/testing/selftests/bpf/prog_tests/user_ringbuf.c
tools/testing/selftests/bpf/progs/user_ringbuf_success.c

index 3a13e102c1491bf3286298333d2679b52ad8a65c..e51721df14fc19eaff24dc3e72a35878b3eb592b 100644 (file)
@@ -590,7 +590,7 @@ static void *kick_kernel_cb(void *arg)
        /* Kick the kernel, causing it to drain the ring buffer and then wake
         * up the test thread waiting on epoll.
         */
-       syscall(__NR_getrlimit);
+       syscall(__NR_prlimit64);
 
        return NULL;
 }
index b39093dd57159eaee7f8f05e683d086a6bb7c64c..0ade1110613b8eaccfa4f4a752bc85fd0e6cadc4 100644 (file)
@@ -202,7 +202,7 @@ do_nothing_cb(struct bpf_dynptr *dynptr, void *context)
        return 0;
 }
 
-SEC("fentry/" SYS_PREFIX "sys_getrlimit")
+SEC("fentry/" SYS_PREFIX "sys_prlimit64")
 int test_user_ringbuf_epoll(void *ctx)
 {
        long num_samples;