[DTrace-devel] [PATCH] Fix fprobe/kprobe selection

Kris Van Hees kris.van.hees at oracle.com
Wed Feb 19 22:13:09 UTC 2025


On Wed, Feb 19, 2025 at 04:51:42PM -0500, eugene.loh--- via DTrace-devel wrote:
> From: Eugene Loh <eugene.loh at oracle.com>
> 
> In commit 2a09b3bea504 ("fbt: clean up fprobe/kprobe support"),
> libdtrace/dt_prov_fbt.c populate() has this change:
> 
>     - impl = BPF_HAS(dtp, BPF_FEAT_FENTRY) ? &dt_fbt_fprobe : &dt_fbt_kprobe;
>     + dt_fbt = BPF_HAS(dtp, BPF_FEAT_FENTRY) ? dt_fbt_kprobe : dt_fbt_kprobe;
> 
> That is, regardless of the BPF_HAS() test, dt_fbt_kprobe is chosen.
> 
> Restore the choice to pick up dt_fbt_fprobe when appropriate.
> 
> It is hard to devise a test for this unique problem.
> 
> Signed-off-by: Eugene Loh <eugene.loh at oracle.com>

Reviewed-by: Kris Van Hees <kris.van.hees at oracle.com>

and my aplogies for introducing this problem.  I believe it was caused by
needing to force test verification in the case that the kprobe option was
selected on a system, and I clearly forgot to revert that before preparing
the actual patch.

	Kris

> ---
>  libdtrace/dt_prov_fbt.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libdtrace/dt_prov_fbt.c b/libdtrace/dt_prov_fbt.c
> index f0910c371..eef93879d 100644
> --- a/libdtrace/dt_prov_fbt.c
> +++ b/libdtrace/dt_prov_fbt.c
> @@ -75,7 +75,7 @@ static int populate(dtrace_hdl_t *dtp)
>  	dtrace_syminfo_t	sip;
>  	dtrace_probedesc_t	pd;
>  
> -	dt_fbt = BPF_HAS(dtp, BPF_FEAT_FENTRY) ? dt_fbt_kprobe : dt_fbt_kprobe;
> +	dt_fbt = BPF_HAS(dtp, BPF_FEAT_FENTRY) ? dt_fbt_fprobe : dt_fbt_kprobe;
>  
>  	prv = dt_provider_create(dtp, prvname, &dt_fbt, &pattr, NULL);
>  	if (prv == NULL)
> -- 
> 2.43.5
> 
> 
> _______________________________________________
> DTrace-devel mailing list
> DTrace-devel at oss.oracle.com
> https://oss.oracle.com/mailman/listinfo/dtrace-devel



More information about the DTrace-devel mailing list