qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH for-2.11] pc: fix crash on attempted cpu unplug


From: Eduardo Habkost
Subject: Re: [Qemu-devel] [PATCH for-2.11] pc: fix crash on attempted cpu unplug
Date: Mon, 20 Nov 2017 12:44:54 -0200
User-agent: Mutt/1.9.1 (2017-09-22)

On Mon, Nov 20, 2017 at 03:34:13PM +0100, Igor Mammedov wrote:
> when qemu is started with '-no-acpi' CLI option, an attempt
> to unplug a CPU using device_del results in null pointer
> dereference at:
> 
>   #0 object_get_class
>   #1 pc_machine_device_unplug_request_cb
>   #2 qmp_marshal_device_del
> 
> which is caused by pcms->acpi_dev == NULL due to ACPI support
> being disabled.
> 
> Considering that ACPI support is necessary for unplug to work,
> check that it's enabled and fail unplug request gracefully
> if no acpi device were found.
> 
> Signed-off-by: Igor Mammedov <address@hidden>

Reviewed-by: Eduardo Habkost <address@hidden>

But I have one small suggestion:

> ---
>  hw/i386/pc.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/hw/i386/pc.c b/hw/i386/pc.c
> index c3afe5b..d80cec3 100644
> --- a/hw/i386/pc.c
> +++ b/hw/i386/pc.c
> @@ -1842,6 +1842,11 @@ static void pc_cpu_unplug_request_cb(HotplugHandler 
> *hotplug_dev,
>      X86CPU *cpu = X86_CPU(dev);
>      PCMachineState *pcms = PC_MACHINE(hotplug_dev);
>  
> +    if (!pcms->acpi_dev) {
> +        error_setg(&local_err, "not supported without acpi");

I suggest "CPU hot unplug not supported without ACPI" instead.

> +        goto out;
> +    }
> +
>      pc_find_cpu_slot(MACHINE(pcms), cpu->apic_id, &idx);
>      assert(idx != -1);
>      if (idx == 0) {
> -- 
> 2.7.4
> 

-- 
Eduardo



reply via email to

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