mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 23:07:35 +00:00
Kernel: Create and use USER_RANGE_CEILING
We had an inconsistency in valid user addresses. is_user_range() was checking against the kernel base address, but previous changes caused the maximum valid user addressable range to be 32 MiB below that. This patch stops mmap(MAP_FIXED) of a range between these two bounds from panic-ing the kernel in RangeAllocator::allocate_specific.
This commit is contained in:
parent
ab196b484a
commit
578d45b480
3 changed files with 4 additions and 2 deletions
|
@ -63,7 +63,7 @@ UNMAP_AFTER_INIT void PageDirectory::allocate_kernel_directory()
|
|||
PageDirectory::PageDirectory(const RangeAllocator* parent_range_allocator)
|
||||
{
|
||||
constexpr FlatPtr userspace_range_base = 0x00800000;
|
||||
constexpr FlatPtr userspace_range_ceiling = 0xbe000000;
|
||||
constexpr FlatPtr userspace_range_ceiling = USER_RANGE_CEILING;
|
||||
|
||||
ScopedSpinLock lock(s_mm_lock);
|
||||
if (parent_range_allocator) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue