aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeir Fraser <keir@xen.org>2011-06-15 20:44:09 +0100
committerKeir Fraser <keir@xen.org>2011-06-15 20:44:09 +0100
commit8a25fcd681aa0353610a9b9991b327792bf6ffe6 (patch)
tree57836a27be8d63b42ac17dfe1de61bd9b0b4afda
parentb40e66978963eb2cda3ebcdeea0ee9c3b47f7cda (diff)
downloadxen-8a25fcd681aa0353610a9b9991b327792bf6ffe6.tar.gz
xen-8a25fcd681aa0353610a9b9991b327792bf6ffe6.tar.bz2
xen-8a25fcd681aa0353610a9b9991b327792bf6ffe6.zip
x86: Fix argument checking in (privileged) function cpu_add().
Thanks to John McDermott <john.mcdermott@nrl.navy.mil> for spotting. Signed-off-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 23505:5a557fda70a9 xen-unstable date: Fri Jun 10 08:08:44 2011 +0100
-rw-r--r--xen/arch/x86/smpboot.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 68e4eb53a4..73539c64ed 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -899,7 +899,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() )