[PATCH] virtio_ring: fix uninitialized used value

From: Jason Wang
Date: Fri Jul 25 2025 - 04:37:05 EST


Buildbot reports uninitialized used:

drivers/virtio/virtio_ring.c:2113:40: error: variable 'id' is
uninitialized when used here [-Werror,-Wuninitialized]
2113 | BAD_RING(vq, "id %u out of range\n", id);
| ^~
drivers/virtio/virtio_ring.c:2077:19: note: initialize the variable
'id' to silence this warning
2077 | u16 last_used, id, last_used_idx;
| ^
| = 0
1 error generated.

Fixing this by use last_used instead and drop the complete unused
variable id.

Cc: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx>
Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Reported-by: kernelci.org bot <bot@xxxxxxxxxxxx>
Reported-by: Linux Kernel Functional Testing <lkft@xxxxxxxxxx>
---
drivers/virtio/virtio_ring.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c
index 8f9413acd4e2..7b960ce9a034 100644
--- a/drivers/virtio/virtio_ring.c
+++ b/drivers/virtio/virtio_ring.c
@@ -2074,7 +2074,7 @@ static void *virtqueue_get_buf_ctx_packed_in_order(struct vring_virtqueue *vq,
void **ctx)
{
unsigned int num = vq->packed.vring.num;
- u16 last_used, id, last_used_idx;
+ u16 last_used, last_used_idx;
bool used_wrap_counter;
void *ret;

@@ -2110,11 +2110,11 @@ static void *virtqueue_get_buf_ctx_packed_in_order(struct vring_virtqueue *vq,
*len = vq->packed.desc_state[last_used].total_len;

if (unlikely(last_used >= num)) {
- BAD_RING(vq, "id %u out of range\n", id);
+ BAD_RING(vq, "id %u out of range\n", last_used);
return NULL;
}
if (unlikely(!vq->packed.desc_state[last_used].data)) {
- BAD_RING(vq, "id %u is not a head!\n", id);
+ BAD_RING(vq, "id %u is not a head!\n", last_used);
return NULL;
}

--
2.39.5