Re: [PATCH] radix-tree: must check __radix_tree_preload() return value

From: Eric Dumazet
Date: Tue Sep 05 2017 - 14:34:55 EST


On Tue, 2017-09-05 at 11:07 -0700, Linus Torvalds wrote:
> On Tue, Sep 5, 2017 at 10:59 AM, Eric Dumazet <eric.dumazet@xxxxxxxxx> wrote:
> > @@ -2104,7 +2104,10 @@ EXPORT_SYMBOL(radix_tree_tagged);
> > */
> > void idr_preload(gfp_t gfp_mask)
> > {
> > - __radix_tree_preload(gfp_mask, IDR_PRELOAD_SIZE);
> > + int ret = __radix_tree_preload(gfp_mask, IDR_PRELOAD_SIZE);
> > +
> > + if (ret)
> > + preempt_disable();
> > }
> > EXPORT_SYMBOL(idr_preload);
>
> Is there a reason for the "ret" variable that is entirely mis-named,
> since it's never actually used as a return value?
>
> (Sure. it's the return value of a function, but that is entirely
> useless and pointless information, and adds no value. We should name
> variables by the data they contain or how they are used, not by "it
> was the return value of a function").
>
> In other words, why isn't this just
>
> if (__radix_tree_preload(..))
> preempt_disable();
>
> which is shorter and clearer and not confusing?


...

> Same issue, but this time strengthened by an additional "why doesn't
> this just use that idr_preload function then?" question..
>

Yep, I will send a v2, thanks.