diff options
author | Martin KaFai Lau <kafai@fb.com> | 2022-03-29 18:15:02 -0700 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2022-03-30 19:31:30 -0700 |
commit | 0a210af6d0a0595fef566e7eeb072f10f37774be (patch) | |
tree | e12934b20ca58c35580f10f72e12516846652e81 /tools/testing/selftests/bpf/progs/trace_dummy_st_ops.c | |
parent | 4a9c7bbe2ed4d2b240674b1fb606c41d3940c412 (diff) |
bpf: selftests: Test fentry tracing a struct_ops program
This patch tests attaching an fentry prog to a struct_ops prog.
Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Yonghong Song <yhs@fb.com>
Link: https://lore.kernel.org/bpf/20220330011502.2985292-1-kafai@fb.com
Diffstat (limited to 'tools/testing/selftests/bpf/progs/trace_dummy_st_ops.c')
-rw-r--r-- | tools/testing/selftests/bpf/progs/trace_dummy_st_ops.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tools/testing/selftests/bpf/progs/trace_dummy_st_ops.c b/tools/testing/selftests/bpf/progs/trace_dummy_st_ops.c new file mode 100644 index 000000000000..00a4be9d3074 --- /dev/null +++ b/tools/testing/selftests/bpf/progs/trace_dummy_st_ops.c @@ -0,0 +1,21 @@ +// SPDX-License-Identifier: GPL-2.0 +#include <linux/bpf.h> +#include <bpf/bpf_helpers.h> +#include <bpf/bpf_tracing.h> + +int val = 0; + +SEC("fentry/test_1") +int BPF_PROG(fentry_test_1, __u64 *st_ops_ctx) +{ + __u64 state; + + /* Read the traced st_ops arg1 which is a pointer */ + bpf_probe_read_kernel(&state, sizeof(__u64), (void *)st_ops_ctx); + /* Read state->val */ + bpf_probe_read_kernel(&val, sizeof(__u32), (void *)state); + + return 0; +} + +char _license[] SEC("license") = "GPL"; |