Skip to content
This repository was archived by the owner on Nov 26, 2025. It is now read-only.

Commit a634925

Browse files
authored
fix: ensure write flag in COW fault handler (#59)
- Add area.flags() to handle_cow_fault call - Assert WRITE flag presence in handle_cow_fault
1 parent 1208c6b commit a634925

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

modules/axmm/src/aspace.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,8 @@ impl AddrSpace {
287287
&& !Self::handle_cow_fault(
288288
addr,
289289
paddr,
290-
flags,
290+
// Add write to flags (area.flags contains write)
291+
area.flags(),
291292
page_size,
292293
&mut self.pt,
293294
)
@@ -674,6 +675,8 @@ impl AddrSpace {
674675
align: PageSize,
675676
pt: &mut PageTable,
676677
) -> bool {
678+
assert!(flags.contains(MappingFlags::WRITE));
679+
677680
let paddr = paddr.align_down(align);
678681

679682
match frame_table().ref_count(paddr) {

0 commit comments

Comments
 (0)