vhost: rename vring pointer fields to reflect user addresses
Rename vq->desc/avail/used to vq->desc_user/avail_user/used_user to clearly indicate these fields contain user space addresses, not physical addresses. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Based-on: <20260206095258.894504-1-vsementsov@yandex-team.ru> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Message-Id: <20260420202032.714884-9-vsementsov@yandex-team.ru>
Vladimir Sementsov-Ogievskiy committed
Apr 20, 2026 at 23:20 UTC
3fbef0689a3cde55efce72a3f6333031a3149f69
2 files changed
+22
-21
hw/virtio/vhost.c
+19
-18
@@ -489,11 +489,11 @@ static void vhost_vrings_unmap(struct vhost_dev *dev,
489
return;
490
}
491
492
- vhost_memory_unmap(dev, &vq->used, vq->used_size, touched,
492
+ vhost_memory_unmap(dev, &vq->used_user, vq->used_size, touched,
493
touched ? vq->used_size : 0);
494
- vhost_memory_unmap(dev, &vq->avail, vq->avail_size, 0,
494
+ vhost_memory_unmap(dev, &vq->avail_user, vq->avail_size, 0,
495
touched ? vq->avail_size : 0);
496
- vhost_memory_unmap(dev, &vq->desc, vq->desc_size, 0,
496
+ vhost_memory_unmap(dev, &vq->desc_user, vq->desc_size, 0,
497
touched ? vq->desc_size : 0);
498
}
499
@@ -504,13 +504,13 @@ static int vhost_vrings_map(struct vhost_dev *dev,
504
{
505
vq->desc_size = virtio_queue_get_desc_size(vdev, idx);
506
vq->desc_phys = virtio_queue_get_desc_addr(vdev, idx);
507
- vq->desc = NULL;
507
+ vq->desc_user = NULL;
508
vq->avail_size = virtio_queue_get_avail_size(vdev, idx);
509
vq->avail_phys = virtio_queue_get_avail_addr(vdev, idx);
510
- vq->avail = NULL;
510
+ vq->avail_user = NULL;
511
vq->used_size = virtio_queue_get_used_size(vdev, idx);
512
vq->used_phys = virtio_queue_get_used_addr(vdev, idx);
513
- vq->used = NULL;
513
+ vq->used_user = NULL;
514
515
if (vq->desc_phys == 0) {
516
/* Queue might not be ready for start */
@@ -521,16 +521,17 @@ static int vhost_vrings_map(struct vhost_dev *dev,
521
return 1;
522
}
523
524
- vq->desc = vhost_memory_map(dev, vq->desc_phys, vq->desc_size, false);
525
- if (!vq->desc) {
524
+ vq->desc_user = vhost_memory_map(dev, vq->desc_phys, vq->desc_size, false);
525
+ if (!vq->desc_user) {
526
goto fail;
527
}
528
- vq->avail = vhost_memory_map(dev, vq->avail_phys, vq->avail_size, false);
529
- if (!vq->avail) {
528
+ vq->avail_user = vhost_memory_map(dev, vq->avail_phys, vq->avail_size,
529
+ false);
530
+ if (!vq->avail_user) {
531
goto fail;
532
}
532
- vq->used = vhost_memory_map(dev, vq->used_phys, vq->used_size, true);
533
- if (!vq->used) {
533
+ vq->used_user = vhost_memory_map(dev, vq->used_phys, vq->used_size, true);
534
+ if (!vq->used_user) {
535
goto fail;
536
}
537
@@ -594,7 +595,7 @@ static int vhost_verify_ring_mappings(struct vhost_dev *dev,
595
596
j = 0;
597
r = vhost_verify_ring_part_mapping(
597
- vq->desc, vq->desc_phys, vq->desc_size,
598
+ vq->desc_user, vq->desc_phys, vq->desc_size,
599
reg_hva, reg_gpa, reg_size);
600
if (r) {
601
break;
@@ -602,7 +603,7 @@ static int vhost_verify_ring_mappings(struct vhost_dev *dev,
603
604
j++;
605
r = vhost_verify_ring_part_mapping(
605
- vq->avail, vq->avail_phys, vq->avail_size,
606
+ vq->avail_user, vq->avail_phys, vq->avail_size,
607
reg_hva, reg_gpa, reg_size);
608
if (r) {
609
break;
@@ -610,7 +611,7 @@ static int vhost_verify_ring_mappings(struct vhost_dev *dev,
611
612
j++;
613
r = vhost_verify_ring_part_mapping(
613
- vq->used, vq->used_phys, vq->used_size,
614
+ vq->used_user, vq->used_phys, vq->used_size,
615
reg_hva, reg_gpa, reg_size);
616
if (r) {
617
break;
@@ -1106,9 +1107,9 @@ static int vhost_virtqueue_set_addr(struct vhost_dev *dev,
1107
addr.avail_user_addr = (uint64_t)(unsigned long)vq->avail_phys;
1108
addr.used_user_addr = (uint64_t)(unsigned long)vq->used_phys;
1109
} else {
1109
- addr.desc_user_addr = (uint64_t)(unsigned long)vq->desc;
1110
- addr.avail_user_addr = (uint64_t)(unsigned long)vq->avail;
1111
- addr.used_user_addr = (uint64_t)(unsigned long)vq->used;
1110
+ addr.desc_user_addr = (uint64_t)(unsigned long)vq->desc_user;
1111
+ addr.avail_user_addr = (uint64_t)(unsigned long)vq->avail_user;
1112
+ addr.used_user_addr = (uint64_t)(unsigned long)vq->used_user;
1113
}
1114
addr.index = idx;
1115
addr.log_guest_addr = vq->used_phys;
include/hw/virtio/vhost.h
+3
-3
@@ -24,9 +24,9 @@ struct vhost_inflight {
24
struct vhost_virtqueue {
25
int kick;
26
int call;
27
- void *desc;
28
- void *avail;
29
- void *used;
27
+ void *desc_user;
28
+ void *avail_user;
29
+ void *used_user;
30
int num;
31
unsigned long long desc_phys;
32
unsigned desc_size;