From 72796d62eb478e71bab7ea2cd36c31d6ad27a12f Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Wed, 1 Jul 2026 23:02:59 +0200 Subject: [PATCH] net_util: queue_pair: Use vnet_hdr_len when locating num_buffers num_buffers sits at offset 10 of the virtio net header, so only vnet_hdr_len() bytes need to translate contiguously to compute its host address. Shrink the translate_gva length from desc.len() to vnet_hdr_len() so the request matches what is actually read. Signed-off-by: Anatol Belski --- net_util/src/queue_pair.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net_util/src/queue_pair.rs b/net_util/src/queue_pair.rs index 242beaaff..8ae3c4753 100644 --- a/net_util/src/queue_pair.rs +++ b/net_util/src/queue_pair.rs @@ -239,7 +239,7 @@ impl RxVirtio { .memory() .checked_offset( desc.addr() - .translate_gva(access_platform, desc.len() as usize) + .translate_gva(access_platform, vnet_hdr_len()) .map_err(|e| { NetQueuePairError::GuestMemory( vm_memory::GuestMemoryError::IOError(e),