Subject: Re: [PATCH net-next v2 1/2] net: store netdevs in an xarray

From: Jakub Kicinski <[email-masked]>
Date: Thu, 27 Jul 2023 08:45:19 -0700

On Thu, 27 Jul 2023 16:08:24 +0300 Leon Romanovsky wrote:
> > +	if (!ifindex)
> > +		err = xa_alloc_cyclic(&net->dev_by_index, &ifindex, NULL,
> > +				      xa_limit_31b, &net->ifindex, GFP_KERNEL);
> > +	else
> > +		err = xa_insert(&net->dev_by_index, ifindex, NULL, GFP_KERNEL);
> > +	if (err < 0)
> > +		return err;
> > +
> > +	return ifindex;  
> 
> ifindex is now u32, but you return it as int. In potential, you can
> return valid ifindex which will be treated as error.
> 
> You should ensure that ifindex doesn't have signed bit on.

I'm feeding xa_alloc_cyclic() xa_limit_31b, which should take care 
of that, no?