selftests/bpf: fix selftest after random: Urandom_read tracepoint removal
authorAndrii Nakryiko <andrii@kernel.org>
Fri, 25 Mar 2022 22:56:43 +0000 (15:56 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Tue, 29 Mar 2022 02:09:23 +0000 (19:09 -0700)
14c174633f34 ("random: remove unused tracepoints") removed all the
tracepoints from drivers/char/random.c, one of which,
random:urandom_read, was used by stacktrace_build_id selftest to trigger
stack trace capture.

Fix breakage by switching to kprobing urandom_read() function.

Suggested-by: Yonghong Song <yhs@fb.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Yonghong Song <yhs@fb.com>
Link: https://lore.kernel.org/bpf/20220325225643.2606-1-andrii@kernel.org
tools/testing/selftests/bpf/progs/test_stacktrace_build_id.c

index 36a707e..6c62bfb 100644 (file)
@@ -39,16 +39,8 @@ struct {
        __type(value, stack_trace_t);
 } stack_amap SEC(".maps");
 
-/* taken from /sys/kernel/debug/tracing/events/random/urandom_read/format */
-struct random_urandom_args {
-       unsigned long long pad;
-       int got_bits;
-       int pool_left;
-       int input_left;
-};
-
-SEC("tracepoint/random/urandom_read")
-int oncpu(struct random_urandom_args *args)
+SEC("kprobe/urandom_read")
+int oncpu(struct pt_regs *args)
 {
        __u32 max_len = sizeof(struct bpf_stack_build_id)
                        * PERF_MAX_STACK_DEPTH;