diff options
author | Keir Fraser <keir@xen.org> | 2011-06-15 20:49:03 +0100 |
---|---|---|
committer | Keir Fraser <keir@xen.org> | 2011-06-15 20:49:03 +0100 |
commit | 4d6edc177a44dc7ef99cf44df4d81ea13216d5e3 (patch) | |
tree | eda144b722805847fccd42bac1a28047fea6d156 | |
parent | d6ac6f406438c979644d2a472a425e74e09d8af4 (diff) | |
download | xen-4d6edc177a44dc7ef99cf44df4d81ea13216d5e3.tar.gz xen-4d6edc177a44dc7ef99cf44df4d81ea13216d5e3.tar.bz2 xen-4d6edc177a44dc7ef99cf44df4d81ea13216d5e3.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.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c index b0b9f52d65..6ad01f822b 100644 --- a/xen/arch/x86/smpboot.c +++ b/xen/arch/x86/smpboot.c @@ -1477,8 +1477,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 ) - return -EINVAL; + if ( (acpi_id >= MAX_MADT_ENTRIES) || + (apic_id >= MAX_APICS) || + (pxm >= 256) ) /* Detect if the cpu has been added before */ if ( x86_acpiid_to_apicid[acpi_id] != 0xff) |