]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
selftests/bpf: Add selftests for bpf_stream_print_stack
authorEmil Tsalapatis <emil@etsalapatis.com>
Tue, 3 Feb 2026 18:04:22 +0000 (13:04 -0500)
committerAlexei Starovoitov <ast@kernel.org>
Tue, 3 Feb 2026 18:41:16 +0000 (10:41 -0800)
Add selftests for the new bpf_stream_print_stack kfunc.

Signed-off-by: Emil Tsalapatis <emil@etsalapatis.com>
Acked-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Link: https://lore.kernel.org/r/20260203180424.14057-3-emil@etsalapatis.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/progs/stream.c

index 4a5bd852f10c89a950ed1cf5acf444f34456ee5e..f63b378de090aeebaa66b89f7ecdbb91fa2c9cba 100644 (file)
@@ -234,4 +234,25 @@ int stream_arena_callback_fault(void *ctx)
        return 0;
 }
 
+SEC("syscall")
+__arch_x86_64
+__arch_arm64
+__success __retval(0)
+__stderr("CPU: {{[0-9]+}} UID: 0 PID: {{[0-9]+}} Comm: {{.*}}")
+__stderr("Call trace:\n"
+"{{([a-zA-Z_][a-zA-Z0-9_]*\\+0x[0-9a-fA-F]+/0x[0-9a-fA-F]+\n"
+"|[ \t]+[^\n]+\n)*}}")
+int stream_print_stack_kfunc(void *ctx)
+{
+       return bpf_stream_print_stack(BPF_STDERR);
+}
+
+SEC("syscall")
+__success __retval(-2)
+int stream_print_stack_invalid_id(void *ctx)
+{
+       /* Try to pass an invalid stream ID. */
+       return bpf_stream_print_stack((enum bpf_stream_id)0xbadcafe);
+}
+
 char _license[] SEC("license") = "GPL";