Message ID | 20210114180628.1675603-6-danielhb413@gmail.com |
---|---|
State | New |
Headers | show |
Series | pseries: avoid unplug the last online CPU core + assorted fixes | expand |
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 --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)
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(-)