mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-20 10:06:31 +00:00
bugfix: 解决取消低地址映射时,错误的把重映射的物理页释放,从而导致的use after free问题。 (#321)
This commit is contained in:
@ -610,10 +610,10 @@ impl LowAddressRemapping {
|
||||
assert!(mapper.as_mut().is_some());
|
||||
for i in 0..(Self::REMAP_SIZE / MMArch::PAGE_SIZE) {
|
||||
let vaddr = VirtAddr::new(i * MMArch::PAGE_SIZE);
|
||||
let flusher = mapper
|
||||
let (_, _, flusher) = mapper
|
||||
.as_mut()
|
||||
.unwrap()
|
||||
.unmap(vaddr, true)
|
||||
.unmap_phys(vaddr, true)
|
||||
.expect("Failed to unmap frame");
|
||||
if flush == false {
|
||||
flusher.ignore();
|
||||
|
Reference in New Issue
Block a user