From 6fcad6ce143b8f65e8be76297eb95a9cb56da22e Mon Sep 17 00:00:00 2001 From: Marsman1996 Date: Thu, 12 Sep 2024 20:15:04 +0800 Subject: [PATCH] Fix integer overflow in handle_page_faults_around --- kernel/src/vm/vmar/vm_mapping.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/src/vm/vmar/vm_mapping.rs b/kernel/src/vm/vmar/vm_mapping.rs index 6fc0a6ff7..5de086d58 100644 --- a/kernel/src/vm/vmar/vm_mapping.rs +++ b/kernel/src/vm/vmar/vm_mapping.rs @@ -305,7 +305,7 @@ impl VmMapping { let vmo_offset = inner.vmo_offset.unwrap(); let vmo = self.vmo().unwrap(); let around_page_addr = page_fault_addr & SURROUNDING_PAGE_ADDR_MASK; - let valid_size = min(vmo.size() - vmo_offset, inner.map_size); + let valid_size = min(vmo.size().saturating_sub(vmo_offset), inner.map_size); let start_addr = max(around_page_addr, inner.map_to_addr); let end_addr = min(