[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH for-6.1 ?] hw/core: fix error checkig in smp_parse
From: |
Eduardo Habkost |
Subject: |
Re: [PATCH for-6.1 ?] hw/core: fix error checkig in smp_parse |
Date: |
Thu, 12 Aug 2021 14:57:26 -0400 |
On Thu, Aug 12, 2021 at 06:53:53PM +0100, Daniel P. Berrangé wrote:
> The machine_set_smp() mistakenly checks 'errp' not '*errp',
> and so thinks there is an error every single time it runs.
> This causes it to jump to the end of the method, skipping
> the max CPUs checks. The caller meanwhile sees no error
> and so carries on execution. The result of all this is:
>
> $ qemu-system-x86_64 -smp -1
> qemu-system-x86_64: GLib: ../glib/gmem.c:142: failed to allocate
> 481036337048 bytes
>
> instead of
>
> $ qemu-system-x86_64 -smp -1
> qemu-system-x86_64: Invalid SMP CPUs -1. The max CPUs supported by machine
> 'pc-i440fx-6.1' is 255
>
> This is a regression from
>
> commit fe68090e8fbd6e831aaf3fc3bb0459c5cccf14cf
> Author: Paolo Bonzini <pbonzini@redhat.com>
> Date: Thu May 13 09:03:48 2021 -0400
>
> machine: add smp compound property
>
> Closes: https://gitlab.com/qemu-project/qemu/-/issues/524
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
I will prepare a pull request with this, just in case we are
already going to have a -rc4. I don't think this bug alone
should delay release of 6.1, though.
> ---
> hw/core/machine.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/core/machine.c b/hw/core/machine.c
> index 943974d411..ab4fca6546 100644
> --- a/hw/core/machine.c
> +++ b/hw/core/machine.c
> @@ -832,7 +832,7 @@ static void machine_set_smp(Object *obj, Visitor *v,
> const char *name,
> }
>
> mc->smp_parse(ms, config, errp);
> - if (errp) {
> + if (*errp) {
> goto out_free;
> }
>
> --
> 2.31.1
>
--
Eduardo