virtio-devices: mem: Report error instead of panic

Signed-off-by: Bo Chen <chen.bo@intel.com>
This commit is contained in:
Bo Chen 2022-10-13 11:43:18 -07:00 committed by Rob Bradford
parent 58066e2da4
commit 0235ed3388

View File

@ -139,6 +139,8 @@ pub enum Error {
NotActivatedByGuest, NotActivatedByGuest,
#[error("Unknown request type: {0}")] #[error("Unknown request type: {0}")]
UnkownRequestType(u16), UnkownRequestType(u16),
#[error("Failed adding used index: {0}")]
QueueAddUsed(virtio_queue::Error),
} }
#[repr(C)] #[repr(C)]
@ -614,7 +616,7 @@ impl MemEpollHandler {
let len = r.send_response(desc_chain.memory(), resp_type, resp_state)?; let len = r.send_response(desc_chain.memory(), resp_type, resp_state)?;
self.queue self.queue
.add_used(desc_chain.memory(), desc_chain.head_index(), len) .add_used(desc_chain.memory(), desc_chain.head_index(), len)
.unwrap(); .map_err(Error::QueueAddUsed)?;
used_descs = true; used_descs = true;
} }