[DTrace-devel] [PATCH 2/2] rawfbt: prvname is not properly set

Eugene Loh eugene.loh at oracle.com
Fri Jan 16 22:43:24 UTC 2026


On 1/16/26 17:02, Kris Van Hees wrote:

> On Fri, Jan 16, 2026 at 12:18:51AM -0500, Eugene Loh wrote:
>> On 1/15/26 17:18, Kris Van Hees wrote:
>>> On Tue, Jan 13, 2026 at 04:42:05PM -0500, eugene.loh at oracle.com wrote:
>>>> From: Eugene Loh <eugene.loh at oracle.com>
>>>>
>>>> [...]
>>>>
>>>> Add a test to check that a rawfbt probe can be found behind an fbt probe
>>>> when the probe description has a wildcard provider.
>>>>
>>>> Orabug: 38842114
>>>> Signed-off-by: Eugene Loh <eugene.loh at oracle.com>
>>>>
>>>> diff --git a/test/unittest/providers/rawfbt/tst.wildcard-provider.d b/test/unittest/providers/rawfbt/tst.wildcard-provider.d
>>>> new file mode 100644
>>>> @@ -0,0 +1,20 @@
>>>> +/*
>>>> + * ASSERTION: rawfbt probes can be found even when a wildcard provider
>>>> + * description also allows fbt probes.
>>>> + */
>>>> +
>>>> +#pragma D option quiet
>>>> +
>>>> +BEGIN,
>>>> +*fbt:vmlinux:do_sys_open*:entry
>>>> +{
>>>> +	printf("success\n");
>>>> +	exit(0);
>>>> +}
>>> I am confused how this test accomplishes verification of the assertion.  If
>>> a regular FBT probe satisfies the probe description, wouldn't this pass also?
>>> Wouldn't a -l based test be better here, where you can test that the output
>>> does indeed report both the fbt probe and the rawfbt probe that match?
>> It appears that -l is not an issue;  a -l test does not show the problem.
>> The test in the patch is derived from the user bug report that motivated
>> this patch.
>>
>> The whole prvname problem is that the bad prvname value makes GROUP_DATA
>> bad, which makes FBT_GROUP_DATA bad, which is an issue only in kprobe_attach
>> (and detach).  So, we need kprobe_attach() to see the problem.
> Ok, so yes, -l is not sufficient.  But still, even if the test is derived from
> the original reported problem, it still looks wrong to me.  Or rather, the test
> can pass when
>
> 	fbt:vmlinux:do_sys+open*:entry exists
> 	rawfbt:vmlinux:do_sys+open*:entry does NOT exist
>
> because as long as 1 probe matches the probe specification, compilation will
> succeed (and at runtime, the probe firing will complete the success criterium).
>
> But that is not a valid PASS result for the assertion that is posed for this
> test.  If you are specifically looking for a rawfbt probe using a wildcard, you
> might want to use r*fbt:vmlinux:do_sys+open*:entry instead perhaps?

This test is admittedly not the most stringent;  it could well pass even 
if some other bugs lurk somewhere.  The test simply reports a problem 
with the old bits and then passes with the fix.  It is a confirmation -- 
however weak -- that the fix is doing something right.

Meanwhile, I do not understand your concerns with regards to the 
assertion.  Specifically, using r*fbt would preclude any fbt probes;  so 
there would be nothing for the rawfbt probe to "hide behind."  And, 
fwiw, using r*fbt makes the test pass even without the fix.



More information about the DTrace-devel mailing list