We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent efd7f00 commit 6c1d779Copy full SHA for 6c1d779
src/structures/paging/page.rs
@@ -447,4 +447,23 @@ mod tests {
447
}
448
assert_eq!(range_inclusive.next(), None);
449
450
+
451
+ #[test]
452
+ pub fn test_max_page_overflow() {
453
+ let page_size = Size4KiB::SIZE;
454
+ let number = 1000;
455
456
+ let start_addr = VirtAddr::new(u64::MAX).align_down(page_size) - number * page_size;
457
+ let start: Page = Page::containing_address(start_addr);
458
+ let end = start + number;
459
460
+ let mut range_inclusive = Page::range_inclusive(start, end);
461
+ for i in 0..=number {
462
+ assert_eq!(
463
+ range_inclusive.next(),
464
+ Some(Page::containing_address(start_addr + page_size * i))
465
+ );
466
+ }
467
+ assert_eq!(range_inclusive.next(), None);
468
469
0 commit comments