aboutsummaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/bpf/progs/test_access_variable_array.c
diff options
context:
space:
mode:
authorFeng Zhou <[email protected]>2023-04-20 03:27:35 +0000
committerAlexei Starovoitov <[email protected]>2023-04-20 04:29:39 +0000
commit5ff54dedf35bfee7a16eb9f8fb7ecadf7d5564cb (patch)
tree5b9bba487042875f0a750a9ee91152a52783ba32 /tools/testing/selftests/bpf/progs/test_access_variable_array.c
parentbpf: support access variable length array of integer type (diff)
downloadkernel-5ff54dedf35bfee7a16eb9f8fb7ecadf7d5564cb.tar.gz
kernel-5ff54dedf35bfee7a16eb9f8fb7ecadf7d5564cb.zip
selftests/bpf: Add test to access integer type of variable array
Add prog test for accessing integer type of variable array in tracing program. In addition, hook load_balance function to access sd->span[0], only to confirm whether the load is successful. Because there is no direct way to trigger load_balance call. Co-developed-by: Chengming Zhou <[email protected]> Signed-off-by: Chengming Zhou <[email protected]> Signed-off-by: Feng Zhou <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Alexei Starovoitov <[email protected]>
Diffstat (limited to 'tools/testing/selftests/bpf/progs/test_access_variable_array.c')
-rw-r--r--tools/testing/selftests/bpf/progs/test_access_variable_array.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/tools/testing/selftests/bpf/progs/test_access_variable_array.c b/tools/testing/selftests/bpf/progs/test_access_variable_array.c
new file mode 100644
index 000000000000..808c49b79889
--- /dev/null
+++ b/tools/testing/selftests/bpf/progs/test_access_variable_array.c
@@ -0,0 +1,19 @@
+// SPDX-License-Identifier: GPL-2.0
+/* Copyright (c) 2023 Bytedance */
+
+#include "vmlinux.h"
+#include <bpf/bpf_helpers.h>
+#include <bpf/bpf_tracing.h>
+
+unsigned long span = 0;
+
+SEC("fentry/load_balance")
+int BPF_PROG(fentry_fentry, int this_cpu, struct rq *this_rq,
+ struct sched_domain *sd)
+{
+ span = sd->span[0];
+
+ return 0;
+}
+
+char _license[] SEC("license") = "GPL";