[DTrace-devel] [PATCH] Unify NULL pointer checking in dt_cg_check_notnull()

Eugene Loh eugene.loh at oracle.com
Fri Jun 18 12:21:16 PDT 2021


On 6/18/21 2:47 PM, Kris Van Hees wrote:

> On Fri, Jun 18, 2021 at 02:33:59PM -0400, Kris Van Hees wrote:
>> On Fri, Jun 18, 2021 at 02:26:32PM -0400, Eugene Loh wrote:
>>> Reviewed-by: Eugene Loh <eugene.loh at oracle.com>
>>>
>>> What will be the ordering of patches?  If this goes in first, I can
>>> tweak dt_cg_act_[u]stack() to use it.  If those patches go in first,
>>> this patch should include those two functions.
>> This patch is planned to go before your stack related patches.  So, yes, you
>> make make use of it.
> Actually, what do you mean...  Where do you use NULL pointer checking in the
> [u]stack implementation?  I do not see any...
Good point.  Sorry.  It's not a BADADDR but a BADSTACK.

My main point is that by making the function broader, it could handle 
all of these cases.  Indeed, one could eliminate the notnull() function 
altogether.  Just beef dt_cg_probe_error() up to take a condition (NEQ, 
SGE, etc.) and a register.  Thereby, one could serve the DIVZERO, 
BADADDR, and BADSTACK cases, eliminating the boilerplate that currently 
surrounds every dt_cg_probe_error() call.  To me, it seems cleaner than 
using a narrowly defined notnull() function.



More information about the DTrace-devel mailing list