From 36ca35060f519f1cdd363e5638cfa83e1f77e0d1 Mon Sep 17 00:00:00 2001 From: Yifan Wu Date: Sun, 30 Jun 2024 20:09:43 +0800 Subject: [PATCH] mm: bugfix #133: MapArea::copy_data does not need &mut PageTable --- os/src/mm/memory_set.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/os/src/mm/memory_set.rs b/os/src/mm/memory_set.rs index c366b2b50..701b492c5 100644 --- a/os/src/mm/memory_set.rs +++ b/os/src/mm/memory_set.rs @@ -75,7 +75,7 @@ impl MemorySet { fn push(&mut self, mut map_area: MapArea, data: Option<&[u8]>) { map_area.map(&mut self.page_table); if let Some(data) = data { - map_area.copy_data(&mut self.page_table, data); + map_area.copy_data(&self.page_table, data); } self.areas.push(map_area); } @@ -335,7 +335,7 @@ impl MapArea { } /// data: start-aligned but maybe with shorter length /// assume that all frames were cleared before - pub fn copy_data(&mut self, page_table: &mut PageTable, data: &[u8]) { + pub fn copy_data(&mut self, page_table: &PageTable, data: &[u8]) { assert_eq!(self.map_type, MapType::Framed); let mut start: usize = 0; let mut current_vpn = self.vpn_range.get_start();