From 81ee260ac3336c32242b8b9872c7400d5ec76478 Mon Sep 17 00:00:00 2001 From: Rob Bradford Date: Fri, 17 Apr 2026 08:56:44 +0100 Subject: [PATCH] virtio-devices: Use new VirtioCommon::access_platform() accessor Use the new virtio feature gated accessor when creating the handlers for the virtio devices. This now means that the translations via the accessor will only be applied if the feature is acked in accordance with the spec. Signed-off-by: Rob Bradford --- virtio-devices/src/block.rs | 2 +- virtio-devices/src/console.rs | 2 +- virtio-devices/src/net.rs | 4 ++-- virtio-devices/src/pmem.rs | 2 +- virtio-devices/src/rng.rs | 2 +- virtio-devices/src/vdpa.rs | 6 +++--- virtio-devices/src/vsock/device.rs | 2 +- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/virtio-devices/src/block.rs b/virtio-devices/src/block.rs index bd740fc4a..961ab9fde 100644 --- a/virtio-devices/src/block.rs +++ b/virtio-devices/src/block.rs @@ -1140,7 +1140,7 @@ impl VirtioDevice for Block { .map(|r| r.new_handle()) .transpose() .unwrap(), - access_platform: self.common.access_platform.clone(), + access_platform: self.common.access_platform(), host_cpus: self.queue_affinity.get(&queue_idx).cloned(), acked_features: self.common.acked_features, disable_sector0_writes: self.disable_sector0_writes, diff --git a/virtio-devices/src/console.rs b/virtio-devices/src/console.rs index d2d57b9e5..b7519626d 100644 --- a/virtio-devices/src/console.rs +++ b/virtio-devices/src/console.rs @@ -751,7 +751,7 @@ impl VirtioDevice for Console { self.resize_pipe.as_ref().map(|p| p.try_clone().unwrap()), kill_evt, pause_evt, - self.common.access_platform.clone(), + self.common.access_platform(), ); let paused = self.common.paused.clone(); diff --git a/virtio-devices/src/net.rs b/virtio-devices/src/net.rs index ed8c05eeb..7c50b4f8b 100644 --- a/virtio-devices/src/net.rs +++ b/virtio-devices/src/net.rs @@ -765,7 +765,7 @@ impl VirtioDevice for Net { ctrl_q: CtrlQueue::new(self.taps.clone()), queue: ctrl_queue, queue_evt: ctrl_queue_evt, - access_platform: self.common.access_platform.clone(), + access_platform: self.common.access_platform(), queue_index: ctrl_queue_index as u16, interrupt_cb: interrupt_cb.clone(), }; @@ -837,7 +837,7 @@ impl VirtioDevice for Net { rx_desc_avail: false, rx_rate_limiter, tx_rate_limiter, - access_platform: self.common.access_platform.clone(), + access_platform: self.common.access_platform(), }, mem: mem.clone(), queue_index_base: (i * 2) as u16, diff --git a/virtio-devices/src/pmem.rs b/virtio-devices/src/pmem.rs index 3abec1c0f..91e0f6579 100644 --- a/virtio-devices/src/pmem.rs +++ b/virtio-devices/src/pmem.rs @@ -404,7 +404,7 @@ impl VirtioDevice for Pmem { queue_evt, kill_evt, pause_evt, - access_platform: self.common.access_platform.clone(), + access_platform: self.common.access_platform(), }; let paused = self.common.paused.clone(); diff --git a/virtio-devices/src/rng.rs b/virtio-devices/src/rng.rs index 6bb0269c5..e8fd5b374 100644 --- a/virtio-devices/src/rng.rs +++ b/virtio-devices/src/rng.rs @@ -273,7 +273,7 @@ impl VirtioDevice for Rng { queue_evt, kill_evt, pause_evt, - access_platform: self.common.access_platform.clone(), + access_platform: self.common.access_platform(), }; let paused = self.common.paused.clone(); diff --git a/virtio-devices/src/vdpa.rs b/virtio-devices/src/vdpa.rs index a35c35eb5..ff7305395 100644 --- a/virtio-devices/src/vdpa.rs +++ b/virtio-devices/src/vdpa.rs @@ -251,21 +251,21 @@ impl Vdpa { desc_table_addr: queue .desc_table() .translate_gpa( - self.common.access_platform.as_deref(), + self.common.access_platform().as_deref(), queue_size as usize * std::mem::size_of::(), ) .map_err(Error::TranslateAddress)?, used_ring_addr: queue .used_ring() .translate_gpa( - self.common.access_platform.as_deref(), + self.common.access_platform().as_deref(), 4 + queue_size as usize * 8, ) .map_err(Error::TranslateAddress)?, avail_ring_addr: queue .avail_ring() .translate_gpa( - self.common.access_platform.as_deref(), + self.common.access_platform().as_deref(), 4 + queue_size as usize * 2, ) .map_err(Error::TranslateAddress)?, diff --git a/virtio-devices/src/vsock/device.rs b/virtio-devices/src/vsock/device.rs index 25412503a..dd877fa55 100644 --- a/virtio-devices/src/vsock/device.rs +++ b/virtio-devices/src/vsock/device.rs @@ -466,7 +466,7 @@ where pause_evt, interrupt_cb, backend: self.backend.clone(), - access_platform: self.common.access_platform.clone(), + access_platform: self.common.access_platform(), }; let paused = self.common.paused.clone();