mm: bugfix #133: MapArea::copy_data does not need &mut PageTable

This commit is contained in:
Yifan Wu 2024-06-30 20:09:43 +08:00
parent b100bcb0ed
commit eeb8ac2352

View File

@ -79,7 +79,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);
}
@ -339,7 +339,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();