From e537bd4d993d5174d1a6fb4abc3af44751cf1bf9 Mon Sep 17 00:00:00 2001 From: Asakura Mizu Date: Fri, 18 Jul 2025 00:40:53 +0800 Subject: [PATCH 1/2] fix(la64): set PTEFlags::D with MappingFlags::WRITE Co-authored-by: mingzi --- page_table_entry/src/arch/loongarch64.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/page_table_entry/src/arch/loongarch64.rs b/page_table_entry/src/arch/loongarch64.rs index 354119f..bab6a9b 100644 --- a/page_table_entry/src/arch/loongarch64.rs +++ b/page_table_entry/src/arch/loongarch64.rs @@ -97,7 +97,7 @@ impl From for PTEFlags { ret |= Self::NR; } if f.contains(MappingFlags::WRITE) { - ret |= Self::W; + ret |= Self::W | Self::D; } if !f.contains(MappingFlags::EXECUTE) { ret |= Self::NX; @@ -134,7 +134,7 @@ impl LA64PTE { impl GenericPTE for LA64PTE { fn new_page(paddr: PhysAddr, flags: MappingFlags, is_huge: bool) -> Self { - let mut flags = PTEFlags::from(flags) | PTEFlags::D; + let mut flags = PTEFlags::from(flags); if is_huge { flags |= PTEFlags::GH; } @@ -153,7 +153,7 @@ impl GenericPTE for LA64PTE { self.0 = (self.0 & !Self::PHYS_ADDR_MASK) | (paddr.as_usize() as u64 & Self::PHYS_ADDR_MASK) } fn set_flags(&mut self, flags: MappingFlags, is_huge: bool) { - let mut flags = PTEFlags::from(flags) | PTEFlags::D; + let mut flags = PTEFlags::from(flags); if is_huge { flags |= PTEFlags::GH; } From 57608a44ba12ae54abd6e4f6441b3050d5159406 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=9D=E5=80=89=E6=B0=B4=E5=B8=8C?= Date: Wed, 5 Nov 2025 19:11:43 +0800 Subject: [PATCH 2/2] fix: doc_auto_cfg --- page_table_entry/src/lib.rs | 2 +- page_table_multiarch/src/lib.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/page_table_entry/src/lib.rs b/page_table_entry/src/lib.rs index 7a675f9..71f51dc 100644 --- a/page_table_entry/src/lib.rs +++ b/page_table_entry/src/lib.rs @@ -1,5 +1,5 @@ #![cfg_attr(not(test), no_std)] -#![cfg_attr(doc, feature(doc_auto_cfg))] +#![cfg_attr(doc, feature(doc_cfg))] #![doc = include_str!("../README.md")] mod arch; diff --git a/page_table_multiarch/src/lib.rs b/page_table_multiarch/src/lib.rs index a9911e7..42f517f 100644 --- a/page_table_multiarch/src/lib.rs +++ b/page_table_multiarch/src/lib.rs @@ -1,5 +1,5 @@ #![cfg_attr(not(test), no_std)] -#![cfg_attr(doc, feature(doc_auto_cfg))] +#![cfg_attr(doc, feature(doc_cfg))] #![doc = include_str!("../README.md")] #[macro_use]