forked from Minki/linux
virtio: use err label in __vring_new_virtqueue()
Using error label for unwind in __vring_new_virtqueue. This is useful for future refacotring. Signed-off-by: Jason Wang <jasowang@redhat.com> Link: https://lore.kernel.org/r/20210604055350.58753-7-jasowang@redhat.com Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
fe4c3862df
commit
5bc72234f7
@ -2161,10 +2161,8 @@ struct virtqueue *__vring_new_virtqueue(unsigned int index,
|
||||
|
||||
vq->split.desc_state = kmalloc_array(vring.num,
|
||||
sizeof(struct vring_desc_state_split), GFP_KERNEL);
|
||||
if (!vq->split.desc_state) {
|
||||
kfree(vq);
|
||||
return NULL;
|
||||
}
|
||||
if (!vq->split.desc_state)
|
||||
goto err_state;
|
||||
|
||||
/* Put everything in free lists. */
|
||||
vq->free_head = 0;
|
||||
@ -2175,6 +2173,10 @@ struct virtqueue *__vring_new_virtqueue(unsigned int index,
|
||||
|
||||
list_add_tail(&vq->vq.list, &vdev->vqs);
|
||||
return &vq->vq;
|
||||
|
||||
err_state:
|
||||
kfree(vq);
|
||||
return NULL;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(__vring_new_virtqueue);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user