Kernel: Process::validate_pointer_access now maps the whole range
This fixes a bug where userspace provided address is not fully mapped and the kernel tries to read/write it while using PageTable fast page. In the future userspace input should be copied on syscall entry, so userspace could not modify the input during syscall. Currently there is change that userspace input passes kernel syscall validation and after that userspace could modify the input before the value is actually used.
This commit is contained in:
@@ -198,6 +198,7 @@ namespace Kernel
|
||||
BAN::ErrorOr<int> block_until_exit(pid_t pid);
|
||||
|
||||
BAN::ErrorOr<void> validate_string_access(const char*);
|
||||
BAN::ErrorOr<void> validate_pointer_access_check(const void*, size_t);
|
||||
BAN::ErrorOr<void> validate_pointer_access(const void*, size_t);
|
||||
|
||||
uint64_t signal_pending_mask() const
|
||||
|
||||
Reference in New Issue
Block a user