All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [PATCH v2 06/18] hw/acpi: Fix legacy CPU plug error API violations
Date: Mon, 9 Dec 2019 11:01:48 -0500	[thread overview]
Message-ID: <20191209110134-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20191204093625.14836-7-armbru@redhat.com>

On Wed, Dec 04, 2019 at 10:36:13AM +0100, Markus Armbruster wrote:
> legacy_acpi_cpu_plug_cb() dereferences @errp when
> acpi_set_cpu_present_bit() fails.  That's wrong; see the big comment
> in error.h.  Introduced in commit cc43364de7 "acpi/cpu-hotplug:
> introduce helper function to keep bit setting in one place".
> 
> No caller actually passes null, and acpi_set_cpu_present_bit() can't
> actually fail.
> 
> Fix anyway: drop acpi_set_cpu_present_bit()'s @errp parameter.
> 
> Cc: "Michael S. Tsirkin" <mst@redhat.com>
> Cc: Igor Mammedov <imammedo@redhat.com>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> Reviewed-by: Igor Mammedov <imammedo@redhat.com>

Reviewed-by: Michael S. Tsirkin <mst@redhat.com>

Feel free to merge through your tree pls.

> ---
>  hw/acpi/cpu_hotplug.c | 10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
> 
> diff --git a/hw/acpi/cpu_hotplug.c b/hw/acpi/cpu_hotplug.c
> index 3ac2045a95..9c3bcc84de 100644
> --- a/hw/acpi/cpu_hotplug.c
> +++ b/hw/acpi/cpu_hotplug.c
> @@ -55,8 +55,7 @@ static const MemoryRegionOps AcpiCpuHotplug_ops = {
>      },
>  };
>  
> -static void acpi_set_cpu_present_bit(AcpiCpuHotplug *g, CPUState *cpu,
> -                                     Error **errp)
> +static void acpi_set_cpu_present_bit(AcpiCpuHotplug *g, CPUState *cpu)
>  {
>      CPUClass *k = CPU_GET_CLASS(cpu);
>      int64_t cpu_id;
> @@ -74,10 +73,7 @@ static void acpi_set_cpu_present_bit(AcpiCpuHotplug *g, CPUState *cpu,
>  void legacy_acpi_cpu_plug_cb(HotplugHandler *hotplug_dev,
>                               AcpiCpuHotplug *g, DeviceState *dev, Error **errp)
>  {
> -    acpi_set_cpu_present_bit(g, CPU(dev), errp);
> -    if (*errp != NULL) {
> -        return;
> -    }
> +    acpi_set_cpu_present_bit(g, CPU(dev));
>      acpi_send_event(DEVICE(hotplug_dev), ACPI_CPU_HOTPLUG_STATUS);
>  }
>  
> @@ -92,7 +88,7 @@ void legacy_acpi_cpu_hotplug_init(MemoryRegion *parent, Object *owner,
>      gpe_cpu->device = owner;
>  
>      CPU_FOREACH(cpu) {
> -        acpi_set_cpu_present_bit(gpe_cpu, cpu, &error_abort);
> +        acpi_set_cpu_present_bit(gpe_cpu, cpu);
>      }
>  }
>  
> -- 
> 2.21.0



  reply	other threads:[~2019-12-09 16:04 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-04  9:36 [PATCH v2 00/18] Error handling fixes Markus Armbruster
2019-12-04  9:36 ` [PATCH v2 01/18] crypto: Fix certificate file error handling crash bug Markus Armbruster
2019-12-04  9:45   ` Daniel P. Berrangé
2019-12-04  9:36 ` [PATCH v2 02/18] crypto: Fix typo in QCryptoTLSSession's <example> comment Markus Armbruster
2019-12-04  9:45   ` Daniel P. Berrangé
2019-12-04  9:36 ` [PATCH v2 03/18] io: Fix Error usage in a comment <example> Markus Armbruster
2019-12-04  9:45   ` Daniel P. Berrangé
2019-12-04  9:36 ` [PATCH v2 04/18] tests: Clean up initialization of Error *err variables Markus Armbruster
2019-12-04 14:27   ` Eric Blake
2019-12-04 14:53   ` Philippe Mathieu-Daudé
2019-12-04  9:36 ` [PATCH v2 05/18] exec: Fix file_ram_alloc() error API violations Markus Armbruster
2019-12-04 14:53   ` Philippe Mathieu-Daudé
2019-12-04  9:36 ` [PATCH v2 06/18] hw/acpi: Fix legacy CPU plug " Markus Armbruster
2019-12-09 16:01   ` Michael S. Tsirkin [this message]
2019-12-04  9:36 ` [PATCH v2 07/18] hw/core: Fix fit_load_fdt() error handling violations Markus Armbruster
2019-12-04 14:55   ` Philippe Mathieu-Daudé
2019-12-04  9:36 ` [PATCH v2 08/18] hw/ipmi: Fix realize() error API violations Markus Armbruster
2019-12-04  9:36 ` [PATCH v2 09/18] qga: Fix guest-get-fsinfo " Markus Armbruster
2019-12-04 14:57   ` Philippe Mathieu-Daudé
2019-12-04  9:36 ` [PATCH v2 10/18] memory-device: Fix memory pre-plug " Markus Armbruster
2019-12-04  9:36 ` [PATCH v2 11/18] s390x/event-facility: Fix realize() " Markus Armbruster
2019-12-04  9:36 ` [PATCH v2 12/18] s390x/cpumodel: Fix feature property " Markus Armbruster
2019-12-04  9:36 ` [PATCH v2 13/18] s390x/cpumodel: Fix realize() " Markus Armbruster
2019-12-04  9:36 ` [PATCH v2 14/18] s390x/cpumodel: Fix query-cpu-model-FOO " Markus Armbruster
2019-12-04  9:36 ` [PATCH v2 15/18] s390x/cpumodel: Fix query-cpu-definitions " Markus Armbruster
2019-12-04  9:36 ` [PATCH v2 16/18] error: Clean up unusual names of Error * variables Markus Armbruster
2019-12-04  9:36 ` [PATCH v2 17/18] hw/intc/s390: Simplify error handling in kvm_s390_flic_realize() Markus Armbruster
2019-12-04  9:36 ` [PATCH v2 18/18] tests-blockjob: Use error_free_or_abort() Markus Armbruster
2019-12-04  9:38 ` [PATCH v2 00/18] Error handling fixes David Hildenbrand
2019-12-04  9:49 ` Markus Armbruster
2019-12-05 16:07 ` Cornelia Huck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191209110134-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=armbru@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.