mirror of
https://github.com/Mathewnd/Astral.git
synced 2026-10-29 21:58:20 +00:00
syscall_mmap() bugfix
it wasn't accepting mappings with MAP_FIXED flags
This commit is contained in:
@@ -56,7 +56,7 @@ syscallret syscall_mmap(void* hint, size_t len, int prot, int flags, int fd, off
|
||||
return retv;
|
||||
}
|
||||
|
||||
if(flags != (MAP_ANON | MAP_PRIVATE)){
|
||||
if((flags & (MAP_ANON | MAP_PRIVATE)) != (MAP_ANON | MAP_PRIVATE)){
|
||||
retv.errno = ENOSYS;
|
||||
return retv;
|
||||
|
||||
@@ -81,8 +81,7 @@ syscallret syscall_mmap(void* hint, size_t len, int prot, int flags, int fd, off
|
||||
|
||||
if(hint)
|
||||
ret = vmm_allocnowat(hint, mmuflags, len) ? hint : NULL; // TODO demand page
|
||||
|
||||
if(!ret && !(flags & MAP_FIXED))
|
||||
if(ret == NULL && (flags & MAP_FIXED) == 0)
|
||||
ret = vmm_allocfrom(USER_ALLOC_START, mmuflags, plen);
|
||||
|
||||
if(!ret){
|
||||
|
||||
Reference in New Issue
Block a user