From ea13cdf4aba3259d1a69e3b6d68decd85d425d89 Mon Sep 17 00:00:00 2001 From: Mathieu Tarral Date: Sun, 20 Dec 2020 04:05:15 +0100 Subject: [PATCH] xen: remove unwraps in listen --- src/driver/xen.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/driver/xen.rs b/src/driver/xen.rs index 1f2bda90..10aa4b2e 100644 --- a/src/driver/xen.rs +++ b/src/driver/xen.rs @@ -329,7 +329,7 @@ impl Introspectable for Xen { fn listen(&mut self, timeout: u32) -> Result, Box> { let mut fds: [PollFd; 1] = [self.evtchn_pollfd]; - let event: Option = match poll(&mut fds, timeout.try_into().unwrap()).unwrap() { + let event: Option = match poll(&mut fds, timeout.try_into()?)? { 0 => { // timeout. no file descriptors were ready None @@ -356,7 +356,7 @@ impl Introspectable for Xen { } // unmask self.xev - .xenevtchn_unmask(pending_event_port.try_into().unwrap())?; + .xenevtchn_unmask(pending_event_port.try_into()?)?; } }; let back_ring_ptr = &mut self.back_ring; @@ -367,8 +367,8 @@ impl Introspectable for Xen { if req.version != VM_EVENT_INTERFACE_VERSION { panic!("version mismatch"); } - let xen_event_type = (self.xc.get_event_type(req)).unwrap(); - let vcpu: u32 = req.vcpu_id.try_into().unwrap(); + let xen_event_type = (self.xc.get_event_type(req))?; + let vcpu: u32 = req.vcpu_id.try_into()?; let event_type: EventType = match xen_event_type { XenEventType::Cr { cr_type, new, old } => EventType::Cr { cr_type: match cr_type { @@ -390,10 +390,10 @@ impl Introspectable for Xen { }; // associate VCPU => vm_event_request_t // to find it in reply_event() - let vcpu_index: usize = vcpu.try_into().unwrap(); + let vcpu_index: usize = vcpu.try_into()?; self.vec_events[vcpu_index] = Some(req); Some(Event { - vcpu: vcpu.try_into().unwrap(), + vcpu: vcpu.try_into()?, kind: event_type, }) } @@ -414,7 +414,7 @@ impl Introspectable for Xen { EventReplyType::Continue => VM_EVENT_FLAG_VCPU_PAUSED, }; // get the request back - let vcpu_index: usize = event.vcpu.try_into().unwrap(); + let vcpu_index: usize = event.vcpu.try_into()?; let req: vm_event_request_t = mem::replace(&mut self.vec_events[vcpu_index], None).unwrap(); let mut rsp: vm_event_response_t = unsafe { mem::MaybeUninit::::zeroed().assume_init() };