Re: [PATCH net] virtio-net: reject small vring sizes

From: Michael S. Tsirkin
Date: Sun Apr 23 2023 - 07:10:39 EST


On Mon, Apr 17, 2023 at 06:43:39AM +0000, Alvaro Karsz wrote:
> > > +static int virtnet_validate_vqs(struct virtnet_info *vi)
> > > +{
> > > + u32 i, min_size = roundup_pow_of_two(MAX_SKB_FRAGS + 2);
> >
> > why power of two?
>
> The ring size is always a power of 2,

Not really, packed rings allow non power of 2.
Linux had a bug that it required power of 2 for packed, but
we are fixing that finally.

> so checking against
> MAX_SKB_FRAGS + 2 or against roundup_pow_of_two will result in the
> same, and I think that printing the warning with the actual min value
> is more helpful. I can check the condition against MAX_SKB_FRAGS + 2,
> and print the rounded value in case of an error.
>