qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 2/4] pc: Refuse CPU hotplug if the resulting


From: Laszlo Ersek
Subject: Re: [Qemu-devel] [PATCH v2 2/4] pc: Refuse CPU hotplug if the resulting APIC ID is too large
Date: Wed, 12 Mar 2014 22:19:26 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0

On 03/12/14 19:28, Eduardo Habkost wrote:
> The ACPI CPU hotplug code requires APIC IDs to be smaller than
> ACPI_CPU_HOTPLUG_ID_LIMIT, so enforce the limit before trying to hotplug
> a new vCPU, returning an error instead of crashing.
> 
> Signed-off-by: Eduardo Habkost <address@hidden>
> ---
>  hw/i386/pc.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/hw/i386/pc.c b/hw/i386/pc.c
> index e715a33..74cb4f9 100644
> --- a/hw/i386/pc.c
> +++ b/hw/i386/pc.c
> @@ -53,6 +53,7 @@
>  #include "qemu/bitmap.h"
>  #include "qemu/config-file.h"
>  #include "hw/acpi/acpi.h"
> +#include "hw/acpi/cpu_hotplug.h"
>  #include "hw/cpu/icc_bus.h"
>  #include "hw/boards.h"
>  #include "hw/pci/pci_host.h"
> @@ -974,6 +975,13 @@ void pc_hot_add_cpu(const int64_t id, Error **errp)
>          return;
>      }
>  
> +    if (apic_id >= ACPI_CPU_HOTPLUG_ID_LIMIT) {
> +        error_setg(errp, "Unable to add CPU: %" PRIi64
> +                   ", resulting APIC ID (%" PRIi64 ") is too large",
> +                   id, apic_id);
> +        return;
> +    }
> +
>      icc_bridge = DEVICE(object_resolve_path_type("icc-bridge",
>                                                   TYPE_ICC_BRIDGE, NULL));
>      pc_new_cpu(current_cpu_model, apic_id, icc_bridge, errp);
> 

Reviewed-by: Laszlo Ersek <address@hidden>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]