Skip to content

Commit 30092cf

Browse files
jmichalski-antkartben
authored andcommitted
drivers: virtio: virtio_pci: fix virtqueue overallocation
virtio_pci_init_virtqueues was allocating more virtqueues than specified by num_queues param if data->common_cfg->num_queues was greater than num_queues Signed-off-by: Jakub Michalski <[email protected]>
1 parent a0dbd67 commit 30092cf

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

drivers/virtio/virtio_pci.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -267,18 +267,18 @@ static int virtio_pci_init_virtqueues(
267267
return -EINVAL;
268268
}
269269

270-
data->virtqueues = k_malloc(queue_count * sizeof(struct virtq));
270+
data->virtqueues = k_malloc(num_queues * sizeof(struct virtq));
271271
if (!data->virtqueues) {
272272
LOG_ERR("failed to allocate virtqueue array");
273273
return -ENOMEM;
274274
}
275-
data->virtqueue_count = queue_count;
275+
data->virtqueue_count = num_queues;
276276

277277
int ret = 0;
278278
int created_queues = 0;
279279
int activated_queues = 0;
280280

281-
for (int i = 0; i < queue_count; i++) {
281+
for (int i = 0; i < num_queues; i++) {
282282
data->common_cfg->queue_select = sys_cpu_to_le16(i);
283283
barrier_dmem_fence_full();
284284

0 commit comments

Comments
 (0)