Merge branch 'fix-mprotect' into 'master'

fix: return EINVAL for invalid `prot` of `mprotect`

Closes #259

See merge request redox-os/relibc!976
This commit is contained in:
Jeremy Soller
2026-02-24 08:10:46 -07:00
+4 -8
View File
@@ -789,14 +789,10 @@ impl Pal for Sys {
let Some(len) = round_up_to_page_size(len) else {
return Err(Errno(ENOMEM));
};
(unsafe {
syscall::mprotect(
addr as usize,
len,
syscall::MapFlags::from_bits((prot as usize) << 16)
.expect("mprotect: invalid bit pattern"),
)
})?;
let Some(prot) = syscall::MapFlags::from_bits((prot as usize) << 16) else {
return Err(Errno(EINVAL));
};
(unsafe { syscall::mprotect(addr as usize, len, prot) })?;
Ok(())
}