From: Jan Beulich Date: Fri, 19 Aug 2011 08:53:47 +0000 (+0100) Subject: xen/i386: follow-up to c/s 1101 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=405c3ddf0fa3c5bd7f505e508706a1f5a6f883e6;p=legacy%2Flinux-2.6.18-xen.git xen/i386: follow-up to c/s 1101 The numbers obtained from the hypervisor really can't ever lead to an overflow here, only the original calculation going through the order of the range could have. This avoids the (as Jeremy points outs) somewhat ugly NULL-based calculation here. Signed-off-by: Jan Beulich --- diff --git a/arch/i386/mach-xen/setup.c b/arch/i386/mach-xen/setup.c index 40a510cd..b3f4903c 100644 --- a/arch/i386/mach-xen/setup.c +++ b/arch/i386/mach-xen/setup.c @@ -110,10 +110,8 @@ void __init pre_setup_arch_hook(void) machine_to_phys_nr = mapping.max_mfn + 1; } else machine_to_phys_nr = MACH2PHYS_NR_ENTRIES; - if (machine_to_phys_mapping + machine_to_phys_nr - < machine_to_phys_mapping) - machine_to_phys_nr = (unsigned long *)NULL - - machine_to_phys_mapping; + WARN_ON(machine_to_phys_mapping + (machine_to_phys_nr - 1) + < machine_to_phys_mapping); if (!xen_feature(XENFEAT_auto_translated_physmap)) phys_to_machine_mapping =