[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <4891FAEF.76E4.0078.0@novell.com>
Date: Thu, 31 Jul 2008 16:48:31 +0100
From: "Jan Beulich" <jbeulich@...ell.com>
To: <mingo@...e.hu>, <tglx@...utronix.de>, <hpa@...or.com>
Cc: <linux-kernel@...r.kernel.org>
Subject: [PATCH] x86-64: fix overlap of modules and fixmap areas
Plus add a build time check so this doesn't go unnoticed again.
Signed-off-by: Jan Beulich <jbeulich@...ell.com>
---
arch/x86/kernel/head64.c | 1 +
include/asm-x86/pgtable_64.h | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
--- linux-2.6.27-rc1/arch/x86/kernel/head64.c 2008-07-31 17:31:51.000000000 +0200
+++ 2.6.27-rc1-x86_64-modules-fixmap/arch/x86/kernel/head64.c 2008-07-31 15:55:01.000000000 +0200
@@ -88,6 +88,7 @@ void __init x86_64_start_kernel(char * r
BUILD_BUG_ON(!(MODULES_VADDR > __START_KERNEL));
BUILD_BUG_ON(!(((MODULES_END - 1) & PGDIR_MASK) ==
(__START_KERNEL & PGDIR_MASK)));
+ BUILD_BUG_ON(__fix_to_virt(__end_of_fixed_addresses) <= MODULES_END);
/* clear bss before set_intr_gate with early_idt_handler */
clear_bss();
--- linux-2.6.27-rc1/include/asm-x86/pgtable_64.h 2008-07-31 17:32:19.000000000 +0200
+++ 2.6.27-rc1-x86_64-modules-fixmap/include/asm-x86/pgtable_64.h 2008-07-31 15:50:44.000000000 +0200
@@ -151,7 +151,7 @@ static inline void native_pgd_clear(pgd_
#define VMALLOC_END _AC(0xffffe1ffffffffff, UL)
#define VMEMMAP_START _AC(0xffffe20000000000, UL)
#define MODULES_VADDR _AC(0xffffffffa0000000, UL)
-#define MODULES_END _AC(0xfffffffffff00000, UL)
+#define MODULES_END _AC(0xffffffffff000000, UL)
#define MODULES_LEN (MODULES_END - MODULES_VADDR)
#ifndef __ASSEMBLY__
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists