Set overflow boundary to isize::MAX for memory related syscalls

This commit is contained in:
Marsman1996
2024-08-29 22:26:36 +08:00
committed by Tate, Hongliang Tian
parent 9589b332aa
commit 745ac6d982
3 changed files with 3 additions and 3 deletions

View File

@ -20,7 +20,7 @@ pub fn sys_madvise(
if start % PAGE_SIZE != 0 {
return_errno_with_message!(Errno::EINVAL, "the start address should be page aligned");
}
if len > usize::MAX - PAGE_SIZE + 1 {
if len > isize::MAX as usize {
return_errno_with_message!(Errno::EINVAL, "len align overflow");
}
if len == 0 {

View File

@ -22,7 +22,7 @@ pub fn sys_mprotect(addr: Vaddr, len: usize, perms: u64, ctx: &Context) -> Resul
if len == 0 {
return Ok(SyscallReturn::Return(0));
}
if len > usize::MAX - PAGE_SIZE + 1 {
if len > isize::MAX as usize {
return_errno_with_message!(Errno::ENOMEM, "len align overflow");
}

View File

@ -14,7 +14,7 @@ pub fn sys_munmap(addr: Vaddr, len: usize, ctx: &Context) -> Result<SyscallRetur
if len == 0 {
return_errno_with_message!(Errno::EINVAL, "munmap len cannot be zero");
}
if len > usize::MAX - PAGE_SIZE + 1 {
if len > isize::MAX as usize {
return_errno_with_message!(Errno::ENOMEM, "munmap len align overflow");
}