Re: [PATCH 2/3] virtio: indirect ring entries(VIRTIO_RING_F_INDIRECT_DESC)

From: Mark McLoughlin
Date: Mon Dec 22 2008 - 05:17:46 EST


Hi Ingo,

On Sat, 2008-12-20 at 12:38 +0100, Ingo Oeser wrote:
> Hi Mark,
>
> On Thursday 18 December 2008, Mark McLoughlin wrote:
> > diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c
> > index 5777196..2330c4b 100644
> > --- a/drivers/virtio/virtio_ring.c
> > +++ b/drivers/virtio/virtio_ring.c
> > @@ -70,6 +73,55 @@ struct vring_virtqueue
> >
> > #define to_vvq(_vq) container_of(_vq, struct vring_virtqueue, vq)
> >
> > +/* Set up an indirect table of descriptors and add it to the queue. */
> > +static int vring_add_indirect(struct vring_virtqueue *vq,
> > + struct scatterlist sg[],
> > + unsigned int out,
> > + unsigned int in)
> > +{
> > + struct vring_desc *desc;
> > + unsigned head;
> > + int i;
> > +
> > + desc = kmalloc((out + in) * sizeof(struct vring_desc), GFP_ATOMIC);
>
> kmalloc() returns ZERO_SIZE_PTR, if (out + in) == 0

vring_add_buf() has:

BUG_ON(out + in == 0)

I should just add that here too before the kmalloc() call.

Thanks,
Mark.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/