Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

selftests/bpf: Use __NR_prlimit64 instead of __NR_getrlimit in user_ringbuf test

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

authored by

Tiezhu Yang and committed by
Andrii Nakryiko
84c22fa8 29c66ad1

+2 -2
+1 -1
tools/testing/selftests/bpf/prog_tests/user_ringbuf.c
··· 590 590 /* Kick the kernel, causing it to drain the ring buffer and then wake 591 591 * up the test thread waiting on epoll. 592 592 */ 593 - syscall(__NR_getrlimit); 593 + syscall(__NR_prlimit64); 594 594 595 595 return NULL; 596 596 }
+1 -1
tools/testing/selftests/bpf/progs/user_ringbuf_success.c
··· 202 202 return 0; 203 203 } 204 204 205 - SEC("fentry/" SYS_PREFIX "sys_getrlimit") 205 + SEC("fentry/" SYS_PREFIX "sys_prlimit64") 206 206 int test_user_ringbuf_epoll(void *ctx) 207 207 { 208 208 long num_samples;