diff --git a/vm-virtio/src/queue.rs b/vm-virtio/src/queue.rs index c6df76843..353b15bae 100644 --- a/vm-virtio/src/queue.rs +++ b/vm-virtio/src/queue.rs @@ -265,10 +265,7 @@ impl<'a> DescriptorChain<'a> { } fn is_valid(&self) -> bool { - !(self - .mem - .checked_offset(self.addr, self.len as usize) - .is_none() + !(!self.mem.check_range(self.addr, self.len as usize) || (self.has_next() && self.next >= self.table_size)) }