Skip to content

Commit 39af72a

Browse files
authored
Merge pull request #24 from Starry-OS/fix/la64-cow
fix(la64): set PTEFlags::D with MappingFlags::WRITE
2 parents 005155b + 57608a4 commit 39af72a

File tree

3 files changed

+5
-5
lines changed

3 files changed

+5
-5
lines changed

page_table_entry/src/arch/loongarch64.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ impl From<MappingFlags> for PTEFlags {
9797
ret |= Self::NR;
9898
}
9999
if f.contains(MappingFlags::WRITE) {
100-
ret |= Self::W;
100+
ret |= Self::W | Self::D;
101101
}
102102
if !f.contains(MappingFlags::EXECUTE) {
103103
ret |= Self::NX;
@@ -134,7 +134,7 @@ impl LA64PTE {
134134

135135
impl GenericPTE for LA64PTE {
136136
fn new_page(paddr: PhysAddr, flags: MappingFlags, is_huge: bool) -> Self {
137-
let mut flags = PTEFlags::from(flags) | PTEFlags::D;
137+
let mut flags = PTEFlags::from(flags);
138138
if is_huge {
139139
flags |= PTEFlags::GH;
140140
}
@@ -153,7 +153,7 @@ impl GenericPTE for LA64PTE {
153153
self.0 = (self.0 & !Self::PHYS_ADDR_MASK) | (paddr.as_usize() as u64 & Self::PHYS_ADDR_MASK)
154154
}
155155
fn set_flags(&mut self, flags: MappingFlags, is_huge: bool) {
156-
let mut flags = PTEFlags::from(flags) | PTEFlags::D;
156+
let mut flags = PTEFlags::from(flags);
157157
if is_huge {
158158
flags |= PTEFlags::GH;
159159
}

page_table_entry/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#![cfg_attr(not(test), no_std)]
2-
#![cfg_attr(doc, feature(doc_auto_cfg))]
2+
#![cfg_attr(doc, feature(doc_cfg))]
33
#![doc = include_str!("../README.md")]
44

55
mod arch;

page_table_multiarch/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#![cfg_attr(not(test), no_std)]
2-
#![cfg_attr(doc, feature(doc_auto_cfg))]
2+
#![cfg_attr(doc, feature(doc_cfg))]
33
#![doc = include_str!("../README.md")]
44

55
#[macro_use]

0 commit comments

Comments
 (0)