diff mbox series

[v1,5/7] spapr_cpu_core.c: use g_auto* in spapr_create_vcpu()

Message ID 20210114180628.1675603-6-danielhb413@gmail.com
State New
Headers show
Series pseries: avoid unplug the last online CPU core + assorted fixes | expand

Commit Message

Daniel Henrique Barboza Jan. 14, 2021, 6:06 p.m. UTC
Use g_autoptr() with Object and g_autofree with the string to
avoid the need of a cleanup path.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
---
 hw/ppc/spapr_cpu_core.c | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

Comments

David Gibson Jan. 15, 2021, 12:49 a.m. UTC | #1
On Thu, Jan 14, 2021 at 03:06:26PM -0300, Daniel Henrique Barboza wrote:
> Use g_autoptr() with Object and g_autofree with the string to
> avoid the need of a cleanup path.
> 
> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>

Applied to ppc-for-6.0, thanks.

> ---
>  hw/ppc/spapr_cpu_core.c | 12 +++---------
>  1 file changed, 3 insertions(+), 9 deletions(-)
> 
> diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c
> index 2f7dc3c23d..4f316a6f9d 100644
> --- a/hw/ppc/spapr_cpu_core.c
> +++ b/hw/ppc/spapr_cpu_core.c
> @@ -277,8 +277,8 @@ static PowerPCCPU *spapr_create_vcpu(SpaprCpuCore *sc, int i, Error **errp)
>  {
>      SpaprCpuCoreClass *scc = SPAPR_CPU_CORE_GET_CLASS(sc);
>      CPUCore *cc = CPU_CORE(sc);
> -    Object *obj;
> -    char *id;
> +    g_autoptr(Object) obj = NULL;
> +    g_autofree char *id = NULL;
>      CPUState *cs;
>      PowerPCCPU *cpu;
>  
> @@ -293,23 +293,17 @@ static PowerPCCPU *spapr_create_vcpu(SpaprCpuCore *sc, int i, Error **errp)
>      cs->start_powered_off = true;
>      cs->cpu_index = cc->core_id + i;
>      if (!spapr_set_vcpu_id(cpu, cs->cpu_index, errp)) {
> -        goto err;
> +        return NULL;
>      }
>  
>      cpu->node_id = sc->node_id;
>  
>      id = g_strdup_printf("thread[%d]", i);
>      object_property_add_child(OBJECT(sc), id, obj);
> -    g_free(id);
>  
>      cpu->machine_data = g_new0(SpaprCpuState, 1);
>  
> -    object_unref(obj);
>      return cpu;
> -
> -err:
> -    object_unref(obj);
> -    return NULL;
>  }
>  
>  static void spapr_cpu_core_realize(DeviceState *dev, Error **errp)
diff mbox series

Patch

diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c
index 2f7dc3c23d..4f316a6f9d 100644
--- a/hw/ppc/spapr_cpu_core.c
+++ b/hw/ppc/spapr_cpu_core.c
@@ -277,8 +277,8 @@  static PowerPCCPU *spapr_create_vcpu(SpaprCpuCore *sc, int i, Error **errp)
 {
     SpaprCpuCoreClass *scc = SPAPR_CPU_CORE_GET_CLASS(sc);
     CPUCore *cc = CPU_CORE(sc);
-    Object *obj;
-    char *id;
+    g_autoptr(Object) obj = NULL;
+    g_autofree char *id = NULL;
     CPUState *cs;
     PowerPCCPU *cpu;
 
@@ -293,23 +293,17 @@  static PowerPCCPU *spapr_create_vcpu(SpaprCpuCore *sc, int i, Error **errp)
     cs->start_powered_off = true;
     cs->cpu_index = cc->core_id + i;
     if (!spapr_set_vcpu_id(cpu, cs->cpu_index, errp)) {
-        goto err;
+        return NULL;
     }
 
     cpu->node_id = sc->node_id;
 
     id = g_strdup_printf("thread[%d]", i);
     object_property_add_child(OBJECT(sc), id, obj);
-    g_free(id);
 
     cpu->machine_data = g_new0(SpaprCpuState, 1);
 
-    object_unref(obj);
     return cpu;
-
-err:
-    object_unref(obj);
-    return NULL;
 }
 
 static void spapr_cpu_core_realize(DeviceState *dev, Error **errp)