aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2006-05-01 12:15:50 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-05-01 18:17:43 -0700
commit5871aa6d5a98f315016d1deee07425c269c37f29 (patch)
tree080fad156c503a485cfa4736d8e7b38561f5586a /arch/i386
parent[PATCH] i386/x86-64: Fix ACPI disabled LAPIC handling mismerge (diff)
downloadlinux-dev-5871aa6d5a98f315016d1deee07425c269c37f29.tar.xz
linux-dev-5871aa6d5a98f315016d1deee07425c269c37f29.zip
[PATCH] i386: Fix overflow in e820_all_mapped
The 32bit version of e820_all_mapped() needs to use u64 to avoid overflows on PAE systems. Pointed out by Jan Beulich Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/i386')
-rw-r--r--arch/i386/kernel/setup.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c
index 80cb3b2d0997..d77e89ac0d54 100644
--- a/arch/i386/kernel/setup.c
+++ b/arch/i386/kernel/setup.c
@@ -970,8 +970,10 @@ efi_memory_present_wrapper(unsigned long start, unsigned long end, void *arg)
* not-overlapping, which is the case
*/
int __init
-e820_all_mapped(unsigned long start, unsigned long end, unsigned type)
+e820_all_mapped(unsigned long s, unsigned long e, unsigned type)
{
+ u64 start = s;
+ u64 end = e;
int i;
for (i = 0; i < e820.nr_map; i++) {
struct e820entry *ei = &e820.map[i];