[DTrace-devel] [PATCH] pid: USDT probes cannot have "-" as function name

Kris Van Hees kris.van.hees at oracle.com
Mon Feb 9 19:37:08 UTC 2026


On Mon, Feb 09, 2026 at 02:22:11PM -0500, Eugene Loh wrote:
> Could we have a little more explanation here?  Like, what is wrong with the
> current behavior (which is... to complain that the probe is not found?)? 
> And should any test check the behavior?

It is an optimization.  That is why I added it right above the test to see
if there is a pid in the provider name.  That was also an optimization.  In
both cases we bail if we can determine immediately that the presented probedesc
cannot be a USDT probe.

> On 2/9/26 13:35, Kris Van Hees via DTrace-devel wrote:
> > Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
> > ---
> >   libdtrace/dt_pid.c | 4 ++++
> >   1 file changed, 4 insertions(+)
> > 
> > diff --git a/libdtrace/dt_pid.c b/libdtrace/dt_pid.c
> > index 517b9265..ef97c8d9 100644
> > --- a/libdtrace/dt_pid.c
> > +++ b/libdtrace/dt_pid.c
> > @@ -1568,6 +1568,10 @@ dt_pid_create_usdt_probes(dtrace_probedesc_t *pdp, dtrace_hdl_t *dtp)
> >   	char *globpat = NULL;
> >   	int err = 0, i, nmatches = 0;
> > +	/* If the function name is "-", we're done. */
> > +	if (pdp->fun[0] == '-' && pdp->fun[1] == '\0')
> > +		return 0;
> > +
> >   	/* If it cannot end with a pid, we're done. */
> >   	if (pdp->prv[0] != '\0') {
> >   		char lastchar = pdp->prv[strlen(pdp->prv) - 1];



More information about the DTrace-devel mailing list