Parcourir la source

Kernel: Make sys$msyscall() EFAULT on non-user address

Fixes #5361.
Andreas Kling il y a 4 ans
Parent
commit
575c7ed414
1 fichiers modifiés avec 3 ajouts et 0 suppressions
  1. 3 0
      Kernel/Syscalls/mmap.cpp

+ 3 - 0
Kernel/Syscalls/mmap.cpp

@@ -563,6 +563,9 @@ int Process::sys$msyscall(void* address)
         return 0;
     }
 
+    if (!is_user_address(VirtualAddress { address }))
+        return -EFAULT;
+
     auto* region = space().find_region_containing(Range { VirtualAddress { address }, 1 });
     if (!region)
         return -EINVAL;