mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 23:50:19 +00:00
578d45b480
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.
23 lines
738 B
C
23 lines
738 B
C
/*
|
|
* Copyright (c) 2018-2021, Andreas Kling <kling@serenityos.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <AK/Platform.h>
|
|
|
|
#define READONLY_AFTER_INIT __attribute__((section(".ro_after_init")))
|
|
#define UNMAP_AFTER_INIT NEVER_INLINE __attribute__((section(".unmap_after_init")))
|
|
|
|
#define KERNEL_BASE 0xC0000000
|
|
#define KERNEL_PD_OFFSET 0x2000000
|
|
#define KERNEL_PD_END 0xF1000000
|
|
#define KERNEL_PT1024_BASE 0xFFE00000
|
|
#define KERNEL_QUICKMAP_PT (KERNEL_PT1024_BASE + 0x6000)
|
|
#define KERNEL_QUICKMAP_PD (KERNEL_PT1024_BASE + 0x7000)
|
|
#define KERNEL_QUICKMAP_PER_CPU_BASE (KERNEL_PT1024_BASE + 0x8000)
|
|
#define KERNEL_PHYSICAL_PAGES_BASE (KERNEL_BASE + KERNEL_PD_OFFSET)
|
|
|
|
#define USER_RANGE_CEILING 0xBE000000
|