qemu-devel
[Top][All Lists]
Advanced

[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: Paolo Bonzini
Subject: Re: [PATCH for-6.1 ?] hw/core: fix error checkig in smp_parse
Date: Fri, 13 Aug 2021 14:44:17 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0

On 12/08/21 19:53, 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>
---
  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;
      }

Queued, thanks.

Paolo




reply via email to

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