Use mmap_anywhere in a couple of places

This commit is contained in:
bjorn3
2026-04-06 17:50:10 +02:00
parent f792faf571
commit 2f39aade30
2 changed files with 18 additions and 20 deletions
+1 -3
View File
@@ -585,12 +585,10 @@ impl KernelScheme for ProcScheme {
let addrsp = AddrSpace::current()?;
// TODO: Lock ordering violation
let mut token = unsafe { CleanLockToken::new() };
let page = addrsp.acquire_write(token.downgrade()).mmap(
let page = addrsp.acquire_write(token.downgrade()).mmap_anywhere(
&addrsp,
None,
NonZeroUsize::new(1).unwrap(),
MapFlags::PROT_READ | MapFlags::PROT_WRITE,
None,
|page, flags, mapper, flusher| {
Grant::allocated_shared_one_page(
frame.get(),
+17 -17
View File
@@ -93,23 +93,23 @@ pub fn resource(token: &mut CleanLockToken) -> Result<Vec<u8>> {
let page_count = NonZeroUsize::new(1).unwrap();
let fpath_page = {
let addr_space = Arc::clone(context::current().read(token.token()).addr_space()?);
addr_space.acquire_write(token.token().downgrade()).mmap(
&addr_space,
None,
page_count,
MapFlags::PROT_READ | MapFlags::PROT_WRITE,
None,
|page, flags, mapper, flusher| {
let shared = false;
Ok(Grant::zeroed(
PageSpan::new(page, page_count.get()),
flags,
mapper,
flusher,
shared,
)?)
},
)?
addr_space
.acquire_write(token.token().downgrade())
.mmap_anywhere(
&addr_space,
page_count,
MapFlags::PROT_READ | MapFlags::PROT_WRITE,
|page, flags, mapper, flusher| {
let shared = false;
Ok(Grant::zeroed(
PageSpan::new(page, page_count.get()),
flags,
mapper,
flusher,
shared,
)?)
},
)?
};
let res = UserSlice::rw(fpath_page.start_address().data(), PAGE_SIZE)