From 6ad67309fdd7aaba44ce124f01ac7999aab6b801 Mon Sep 17 00:00:00 2001 From: Zhang Junyang Date: Sat, 6 Dec 2025 22:13:41 +0800 Subject: [PATCH] Seal the kernel page table --- ostd/src/arch/x86/trap/syscall.rs | 2 +- ostd/src/mm/kspace/kvirt_area.rs | 2 +- ostd/src/mm/kspace/mod.rs | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ostd/src/arch/x86/trap/syscall.rs b/ostd/src/arch/x86/trap/syscall.rs index ffda98d20..191dec113 100644 --- a/ostd/src/arch/x86/trap/syscall.rs +++ b/ostd/src/arch/x86/trap/syscall.rs @@ -33,7 +33,7 @@ global_asm!( include_str!("syscall.S"), USER_CS = const super::gdt::USER_CS.0, USER_SS = const super::gdt::USER_SS.0, - ADDRESS_WIDTH = const crate::mm::kspace::KernelPtConfig::ADDRESS_WIDTH, + ADDRESS_WIDTH = const crate::arch::mm::PagingConsts::ADDRESS_WIDTH, ); /// # Safety diff --git a/ostd/src/mm/kspace/kvirt_area.rs b/ostd/src/mm/kspace/kvirt_area.rs index 21f6b6f57..702c2ba03 100644 --- a/ostd/src/mm/kspace/kvirt_area.rs +++ b/ostd/src/mm/kspace/kvirt_area.rs @@ -73,7 +73,7 @@ impl KVirtArea { } #[cfg(ktest)] - pub fn query(&self, addr: Vaddr) -> Option { + pub(in crate::mm) fn query(&self, addr: Vaddr) -> Option { use align_ext::AlignExt; assert!(self.start() <= addr && self.end() >= addr); diff --git a/ostd/src/mm/kspace/mod.rs b/ostd/src/mm/kspace/mod.rs index e64180e3c..2d0024b7c 100644 --- a/ostd/src/mm/kspace/mod.rs +++ b/ostd/src/mm/kspace/mod.rs @@ -135,10 +135,10 @@ pub fn paddr_to_vaddr(pa: Paddr) -> usize { /// /// It manages the kernel mapping of all address spaces by sharing the kernel part. And it /// is unlikely to be activated. -pub static KERNEL_PAGE_TABLE: Once> = Once::new(); +pub(super) static KERNEL_PAGE_TABLE: Once> = Once::new(); #[derive(Clone, Debug)] -pub(crate) struct KernelPtConfig {} +pub(super) struct KernelPtConfig {} // We use the first available PTE bit to mark the frame as tracked. // SAFETY: `item_into_raw` and `item_from_raw` are implemented correctly, @@ -181,7 +181,7 @@ unsafe impl PageTableConfig for KernelPtConfig { } #[derive(Clone, Debug, PartialEq, Eq)] -pub(crate) enum MappedItem { +pub(super) enum MappedItem { Tracked(Frame, PageProperty), Untracked(Paddr, PagingLevel, PageProperty), }