virtio: Initialize vq->data entries to NULL

vq operations depend on vq->data[i] being NULL to figure out if the vq
entry is in use (since the previous patch).

We have to initialize them to NULL to ensure we don't work with junk
data and trigger false BUG_ONs.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: Shirley Ma <xma@us.ibm.com>
This commit is contained in:
Amit Shah 2010-02-12 10:32:14 +05:30 коммит произвёл Rusty Russell
Родитель c021eac414
Коммит 3b8706240e
1 изменённых файлов: 4 добавлений и 1 удалений

Просмотреть файл

@ -448,8 +448,11 @@ struct virtqueue *vring_new_virtqueue(unsigned int num,
/* Put everything in free lists. */ /* Put everything in free lists. */
vq->num_free = num; vq->num_free = num;
vq->free_head = 0; vq->free_head = 0;
for (i = 0; i < num-1; i++) for (i = 0; i < num-1; i++) {
vq->vring.desc[i].next = i+1; vq->vring.desc[i].next = i+1;
vq->data[i] = NULL;
}
vq->data[i] = NULL;
return &vq->vq; return &vq->vq;
} }