]> git.hungrycats.org Git - linux/commitdiff
bpf/selftests: coverage for tp and perf event progs using kfuncs
authorJP Kobryn <inwardvessel@gmail.com>
Thu, 5 Sep 2024 22:38:12 +0000 (15:38 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 6 Sep 2024 00:02:03 +0000 (17:02 -0700)
This coverage ensures that kfuncs are allowed within tracepoint and perf
event programs.

Signed-off-by: JP Kobryn <inwardvessel@gmail.com>
Link: https://lore.kernel.org/r/20240905223812.141857-3-inwardvessel@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/progs/verifier_kfunc_prog_types.c

index cb32b0cfc84b132dc7d9bbb955deb8c64ff62d2f..a509cad97e69b8770f6e2b3452894519fb6ec848 100644 (file)
@@ -47,6 +47,22 @@ int BPF_PROG(task_kfunc_syscall)
        return 0;
 }
 
+SEC("tracepoint")
+__success
+int BPF_PROG(task_kfunc_tracepoint)
+{
+       task_kfunc_load_test();
+       return 0;
+}
+
+SEC("perf_event")
+__success
+int BPF_PROG(task_kfunc_perf_event)
+{
+       task_kfunc_load_test();
+       return 0;
+}
+
 /*****************
  * cgroup kfuncs *
  *****************/
@@ -85,6 +101,22 @@ int BPF_PROG(cgrp_kfunc_syscall)
        return 0;
 }
 
+SEC("tracepoint")
+__success
+int BPF_PROG(cgrp_kfunc_tracepoint)
+{
+       cgrp_kfunc_load_test();
+       return 0;
+}
+
+SEC("perf_event")
+__success
+int BPF_PROG(cgrp_kfunc_perf_event)
+{
+       cgrp_kfunc_load_test();
+       return 0;
+}
+
 /******************
  * cpumask kfuncs *
  ******************/
@@ -120,3 +152,19 @@ int BPF_PROG(cpumask_kfunc_syscall)
        cpumask_kfunc_load_test();
        return 0;
 }
+
+SEC("tracepoint")
+__success
+int BPF_PROG(cpumask_kfunc_tracepoint)
+{
+       cpumask_kfunc_load_test();
+       return 0;
+}
+
+SEC("perf_event")
+__success
+int BPF_PROG(cpumask_kfunc_perf_event)
+{
+       cpumask_kfunc_load_test();
+       return 0;
+}