From c451aa4c7646b78490bcfa7f8c77371be09fa97d Mon Sep 17 00:00:00 2001 From: Paul Pan Date: Fri, 14 Jun 2024 21:06:09 +0800 Subject: [PATCH] fix: vspace: entry: PTEFlags -> MapAttr: RWX must all be empty when indicating a page table --- kernel/src/arch/riscv/vspace/entry.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kernel/src/arch/riscv/vspace/entry.rs b/kernel/src/arch/riscv/vspace/entry.rs index a106fde..eb4a0ef 100644 --- a/kernel/src/arch/riscv/vspace/entry.rs +++ b/kernel/src/arch/riscv/vspace/entry.rs @@ -36,7 +36,10 @@ impl From for MapAttr { if flags.contains(PTEFlags::USER_ACCESSIBLE) { attr.insert(Self::USER_ACCESSIBLE); } - if flags.contains(PTEFlags::VALID) && !flags.contains(PTEFlags::READABLE | PTEFlags::WRITABLE | PTEFlags::EXECUTABLE) + if flags.contains(PTEFlags::VALID) + && !flags.contains(PTEFlags::READABLE) + && !flags.contains(PTEFlags::WRITABLE) + && !flags.contains(PTEFlags::EXECUTABLE) { attr.insert(Self::PAGE_TABLE); }