diff --git a/net_util/src/queue_pair.rs b/net_util/src/queue_pair.rs index 0f97ec512..0476868f2 100644 --- a/net_util/src/queue_pair.rs +++ b/net_util/src/queue_pair.rs @@ -186,7 +186,7 @@ impl RxVirtio { .translate_gva(access_platform, desc.len() as usize), 10, ) - .unwrap(); + .ok_or(NetQueuePairError::DescriptorInvalidHeader)?; let mut next_desc = Some(desc); let mut iovecs = Vec::new(); @@ -314,6 +314,8 @@ pub enum NetQueuePairError { QueueEnableNotification(virtio_queue::Error), #[error("Failed to add used index to the queue: {0}")] QueueAddUsed(virtio_queue::Error), + #[error("Descriptor with invalid virtio-net header")] + DescriptorInvalidHeader, } pub struct NetQueuePair {