From: Andi Kleen Date: Mon, 1 May 2006 19:15:50 +0000 (-0700) Subject: [PATCH] i386: Fix overflow in e820_all_mapped X-Git-Tag: v3.12-rc1~36314 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5871aa6d5a98f315016d1deee07425c269c37f29;p=kernel%2Fkernel-generic.git [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 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c index 80cb3b2..d77e89a 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];