| From | "Eric W. Biederman" <> | Subject | [PATCH 15/33] x86_64: Fix kernel direct mapping size check | Date | Tue, 1 Aug 2006 05:03:30 -0600 |
| |
Instead of using physical addresse of _end which has nothing to do with knowing if the kernel fits within it's reserved virtual addresses, verify the virtual address of _end fits within in the kernel virtual address mapping.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> --- arch/x86_64/kernel/head64.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/x86_64/kernel/head64.c b/arch/x86_64/kernel/head64.c index 36647ce..454498c 100644 --- a/arch/x86_64/kernel/head64.c +++ b/arch/x86_64/kernel/head64.c @@ -116,7 +116,7 @@ #ifdef CONFIG_X86_IO_APIC disable_apic = 1; #endif /* You need early console to see that */ - if (__pa_symbol(&_end) >= KERNEL_TEXT_SIZE) + if (((unsigned long)&_end) >= (__START_KERNEL_map + KERNEL_TEXT_SIZE)) panic("Kernel too big for kernel mapping\n"); setup_boot_cpu_data(); -- 1.4.2.rc2.g5209e - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|