File tree Expand file tree Collapse file tree 2 files changed +7
-9
lines changed
Expand file tree Collapse file tree 2 files changed +7
-9
lines changed Original file line number Diff line number Diff line change @@ -81,8 +81,12 @@ pub(crate) trait VgicRegEngine {
8181 let mut data = Vec :: with_capacity ( reg. iter :: < Self :: RegChunk > ( ) . count ( ) ) ;
8282 for offset in reg. iter :: < Self :: RegChunk > ( ) {
8383 let mut val = Self :: RegChunk :: default ( ) ;
84- fd. get_device_attr ( & mut Self :: kvm_device_attr ( offset, & mut val, mpidr) )
85- . map_err ( |err| GicError :: DeviceAttribute ( err, false , Self :: group ( ) ) ) ?;
84+ // SAFETY: `val` is a mutable memory location sized correctly for the attribute we're
85+ // requesting
86+ unsafe {
87+ fd. get_device_attr ( & mut Self :: kvm_device_attr ( offset, & mut val, mpidr) )
88+ . map_err ( |err| GicError :: DeviceAttribute ( err, false , Self :: group ( ) ) ) ?;
89+ }
8690 data. push ( val) ;
8791 }
8892
Original file line number Diff line number Diff line change @@ -700,7 +700,6 @@ mod verification {
700700 use std:: mem:: ManuallyDrop ;
701701 use std:: num:: Wrapping ;
702702
703- use vm_memory:: guest_memory:: GuestMemoryIterator ;
704703 use vm_memory:: { GuestMemoryRegion , MemoryRegionAddress } ;
705704
706705 use super :: * ;
@@ -717,13 +716,8 @@ mod verification {
717716 the_region : vm_memory:: GuestRegionMmap ,
718717 }
719718
720- impl < ' a > GuestMemoryIterator < ' a , vm_memory:: GuestRegionMmap > for ProofGuestMemory {
721- type Iter = std:: iter:: Once < & ' a vm_memory:: GuestRegionMmap > ;
722- }
723-
724719 impl GuestMemory for ProofGuestMemory {
725720 type R = vm_memory:: GuestRegionMmap ;
726- type I = Self ;
727721
728722 fn num_regions ( & self ) -> usize {
729723 1
@@ -735,7 +729,7 @@ mod verification {
735729 . map ( |_| & self . the_region )
736730 }
737731
738- fn iter ( & self ) -> < Self :: I as GuestMemoryIterator < Self :: R > > :: Iter {
732+ fn iter ( & self ) -> impl Iterator < Item = Self :: R > {
739733 std:: iter:: once ( & self . the_region )
740734 }
741735
You can’t perform that action at this time.
0 commit comments