Skip to content

Commit c1b97a8

Browse files
JBYoshiJonathanWoollett-Light
authored andcommitted
[Test code] Use u64_to_usize in tests
This commit updates test code to use the u64_to_usize function for safe conversions between the two types. Signed-off-by: Jonathan Browne <[email protected]>
1 parent ff92a97 commit c1b97a8

File tree

5 files changed

+11
-8
lines changed

5 files changed

+11
-8
lines changed

src/vmm/src/arch/x86_64/regs.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,13 +239,14 @@ fn setup_page_tables(mem: &GuestMemoryMmap, sregs: &mut kvm_sregs) -> Result<(),
239239
#[cfg(test)]
240240
mod tests {
241241
use kvm_ioctls::Kvm;
242+
use utils::u64_to_usize;
242243
use utils::vm_memory::{Bytes, GuestAddress, GuestMemoryMmap};
243244

244245
use super::*;
245246

246247
fn create_guest_mem(mem_size: Option<u64>) -> GuestMemoryMmap {
247248
let page_size = 0x10000usize;
248-
let mem_size = mem_size.unwrap_or(page_size as u64) as usize;
249+
let mem_size = u64_to_usize(mem_size.unwrap_or(page_size as u64));
249250
if mem_size % page_size == 0 {
250251
utils::vm_memory::test_utils::create_anon_guest_memory(
251252
&[(GuestAddress(0), mem_size)],

src/vmm/src/devices/virtio/balloon/test_utils.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ pub fn check_request_completion(queue: &VirtQueue, idx: usize) {
4040
// Check that the next used will be idx + 1.
4141
assert_eq!(queue.used.idx.get() as usize, idx + 1);
4242
// Check that the current used is idx.
43-
assert_eq!(queue.used.ring[idx].get().id, idx as u32);
43+
assert_eq!(queue.used.ring[idx].get().id as usize, idx);
4444
// The length of the completed request is 0.
4545
assert_eq!(queue.used.ring[idx].get().len, 0);
4646
}

src/vmm/src/devices/virtio/block/io/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ pub mod tests {
190190
use utils::kernel_version::{min_kernel_version_for_io_uring, KernelVersion};
191191
use utils::tempfile::TempFile;
192192
use utils::vm_memory::{Bitmap, Bytes, GuestMemory};
193-
use utils::{skip_if_io_uring_supported, skip_if_io_uring_unsupported};
193+
use utils::{skip_if_io_uring_supported, skip_if_io_uring_unsupported, u64_to_usize};
194194

195195
use super::*;
196196
use crate::devices::virtio::block::device::FileEngineType;
@@ -251,14 +251,14 @@ pub mod tests {
251251
fn check_dirty_mem(mem: &GuestMemoryMmap, addr: GuestAddress, len: u32) {
252252
let bitmap = mem.find_region(addr).unwrap().bitmap().as_ref().unwrap();
253253
for offset in addr.0..addr.0 + u64::from(len) {
254-
assert!(bitmap.dirty_at(offset as usize));
254+
assert!(bitmap.dirty_at(u64_to_usize(offset)));
255255
}
256256
}
257257

258258
fn check_clean_mem(mem: &GuestMemoryMmap, addr: GuestAddress, len: u32) {
259259
let bitmap = mem.find_region(addr).unwrap().bitmap().as_ref().unwrap();
260260
for offset in addr.0..addr.0 + u64::from(len) {
261-
assert!(!bitmap.dirty_at(offset as usize));
261+
assert!(!bitmap.dirty_at(u64_to_usize(offset)));
262262
}
263263
}
264264

src/vmm/src/devices/virtio/mmio.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,7 @@ impl MmioTransport {
330330
pub(crate) mod tests {
331331
use utils::byte_order::{read_le_u32, write_le_u32};
332332
use utils::eventfd::EventFd;
333+
use utils::u64_to_usize;
333334
use utils::vm_memory::GuestMemoryMmap;
334335

335336
use super::*;
@@ -406,12 +407,12 @@ pub(crate) mod tests {
406407
}
407408

408409
fn read_config(&self, offset: u64, data: &mut [u8]) {
409-
data.copy_from_slice(&self.config_bytes[offset as usize..]);
410+
data.copy_from_slice(&self.config_bytes[u64_to_usize(offset)..]);
410411
}
411412

412413
fn write_config(&mut self, offset: u64, data: &[u8]) {
413414
for (i, item) in data.iter().enumerate() {
414-
self.config_bytes[offset as usize + i] = *item;
415+
self.config_bytes[u64_to_usize(offset) + i] = *item;
415416
}
416417
}
417418

src/vmm/src/devices/virtio/test_utils.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ use std::marker::PhantomData;
88
use std::mem;
99
use std::sync::atomic::{AtomicUsize, Ordering};
1010

11+
use utils::u64_to_usize;
1112
use utils::vm_memory::{Address, Bytes, GuestAddress, GuestMemoryMmap};
1213

1314
use crate::devices::virtio::Queue;
@@ -260,7 +261,7 @@ impl<'a> VirtQueue<'a> {
260261
let mut x = avail.end().0;
261262
x = (x + USED_ALIGN - 1) & !(USED_ALIGN - 1);
262263

263-
let used = VirtqUsed::new(GuestAddress(x), mem, qsize, USED_ALIGN as usize);
264+
let used = VirtqUsed::new(GuestAddress(x), mem, qsize, u64_to_usize(USED_ALIGN));
264265

265266
VirtQueue {
266267
dtable,

0 commit comments

Comments
 (0)