[DTrace-devel] [PATCH] pid: USDT probes cannot have "-" as function name
Eugene Loh
eugene.loh at oracle.com
Mon Feb 9 19:38:59 UTC 2026
Okay, but I like having some explanation like that in the commit
message. Anyhow,
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>
On 2/9/26 14:37, Kris Van Hees wrote:
> 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