BPF List
 help / color / mirror / Atom feed
* [PATCH bpf-next] bpf: allow calling kfuncs from raw_tp programs
@ 2025-12-18 14:55 Puranjay Mohan
  2025-12-18 19:38 ` Yonghong Song
  0 siblings, 1 reply; 2+ messages in thread
From: Puranjay Mohan @ 2025-12-18 14:55 UTC (permalink / raw)
  To: bpf
  Cc: Puranjay Mohan, Puranjay Mohan, Alexei Starovoitov,
	Andrii Nakryiko, Daniel Borkmann, Martin KaFai Lau,
	Eduard Zingerman, Kumar Kartikeya Dwivedi, kernel-team

Associate raw tracepoint program type with the kfunc tracing hook. This
allows calling kfuncs from raw_tp programs.

Signed-off-by: Puranjay Mohan <puranjay@kernel.org>
---
 kernel/bpf/btf.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/bpf/btf.c b/kernel/bpf/btf.c
index 0de8fc8a0e0b..539c9fdea41d 100644
--- a/kernel/bpf/btf.c
+++ b/kernel/bpf/btf.c
@@ -8681,6 +8681,7 @@ static int bpf_prog_type_to_kfunc_hook(enum bpf_prog_type prog_type)
 		return BTF_KFUNC_HOOK_STRUCT_OPS;
 	case BPF_PROG_TYPE_TRACING:
 	case BPF_PROG_TYPE_TRACEPOINT:
+	case BPF_PROG_TYPE_RAW_TRACEPOINT:
 	case BPF_PROG_TYPE_PERF_EVENT:
 	case BPF_PROG_TYPE_LSM:
 		return BTF_KFUNC_HOOK_TRACING;

base-commit: ec439c38013550420aecc15988ae6acb670838c1
-- 
2.47.3


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH bpf-next] bpf: allow calling kfuncs from raw_tp programs
  2025-12-18 14:55 [PATCH bpf-next] bpf: allow calling kfuncs from raw_tp programs Puranjay Mohan
@ 2025-12-18 19:38 ` Yonghong Song
  0 siblings, 0 replies; 2+ messages in thread
From: Yonghong Song @ 2025-12-18 19:38 UTC (permalink / raw)
  To: Puranjay Mohan, bpf
  Cc: Puranjay Mohan, Alexei Starovoitov, Andrii Nakryiko,
	Daniel Borkmann, Martin KaFai Lau, Eduard Zingerman,
	Kumar Kartikeya Dwivedi, kernel-team



On 12/18/25 6:55 AM, Puranjay Mohan wrote:
> Associate raw tracepoint program type with the kfunc tracing hook. This
> allows calling kfuncs from raw_tp programs.
>
> Signed-off-by: Puranjay Mohan <puranjay@kernel.org>
> ---
>   kernel/bpf/btf.c | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/kernel/bpf/btf.c b/kernel/bpf/btf.c
> index 0de8fc8a0e0b..539c9fdea41d 100644
> --- a/kernel/bpf/btf.c
> +++ b/kernel/bpf/btf.c
> @@ -8681,6 +8681,7 @@ static int bpf_prog_type_to_kfunc_hook(enum bpf_prog_type prog_type)
>   		return BTF_KFUNC_HOOK_STRUCT_OPS;
>   	case BPF_PROG_TYPE_TRACING:
>   	case BPF_PROG_TYPE_TRACEPOINT:
> +	case BPF_PROG_TYPE_RAW_TRACEPOINT:

You need to fix the selftest progs/verifier_kfunc_prog_types.c like below:

diff --git a/tools/testing/selftests/bpf/progs/verifier_kfunc_prog_types.c b/tools/testing/selftests/bpf/progs/verifier_kfunc_prog_types.c
index a509cad97e69..1fce7a7e8d03 100644
--- a/tools/testing/selftests/bpf/progs/verifier_kfunc_prog_types.c
+++ b/tools/testing/selftests/bpf/progs/verifier_kfunc_prog_types.c
@@ -32,7 +32,7 @@ static void task_kfunc_load_test(void)
  }
  
  SEC("raw_tp")
-__failure __msg("calling kernel function")
+__success
  int BPF_PROG(task_kfunc_raw_tp)
  {
         task_kfunc_load_test();
@@ -86,7 +86,7 @@ static void cgrp_kfunc_load_test(void)
  }
  
  SEC("raw_tp")
-__failure __msg("calling kernel function")
+__success
  int BPF_PROG(cgrp_kfunc_raw_tp)
  {
         cgrp_kfunc_load_test();
@@ -138,7 +138,7 @@ static void cpumask_kfunc_load_test(void)
  }
  
  SEC("raw_tp")
-__failure __msg("calling kernel function")
+__success
  int BPF_PROG(cpumask_kfunc_raw_tp)
  {
         cpumask_kfunc_load_test();

>   	case BPF_PROG_TYPE_PERF_EVENT:
>   	case BPF_PROG_TYPE_LSM:
>   		return BTF_KFUNC_HOOK_TRACING;
>
> base-commit: ec439c38013550420aecc15988ae6acb670838c1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-12-18 19:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-18 14:55 [PATCH bpf-next] bpf: allow calling kfuncs from raw_tp programs Puranjay Mohan
2025-12-18 19:38 ` Yonghong Song

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox