x86: Fix argument checking in (privileged) function cpu_add().
authorKeir Fraser <keir@xen.org>
Fri, 10 Jun 2011 07:08:44 +0000 (08:08 +0100)
committerKeir Fraser <keir@xen.org>
Fri, 10 Jun 2011 07:08:44 +0000 (08:08 +0100)
Thanks to John McDermott <john.mcdermott@nrl.navy.mil> for spotting.

Signed-off-by: Keir Fraser <keir@xen.org>
xen/arch/x86/smpboot.c

index 44ee79c6489372aa642827d8ea84266678159437..91eea68e365236409668412658c0c599aeb23870 100644 (file)
@@ -887,7 +887,9 @@ int cpu_add(uint32_t apic_id, uint32_t acpi_id, uint32_t pxm)
     dprintk(XENLOG_DEBUG, "cpu_add apic_id %x acpi_id %x pxm %x\n",
             apic_id, acpi_id, pxm);
 
-    if ( acpi_id > MAX_MADT_ENTRIES || apic_id > MAX_APICS || pxm > 256 )
+    if ( (acpi_id >= MAX_MADT_ENTRIES) ||
+         (apic_id >= MAX_APICS) ||
+         (pxm >= 256) )
         return -EINVAL;
 
     if ( !cpu_hotplug_begin() )