Message ID | 20180626142214.27801-1-clg@kaod.org |
---|---|
State | New |
Headers | show |
Series | ppc/pnv: fix pnv_core_realize() error handling | expand |
On Tue, 26 Jun 2018 16:22:14 +0200 Cédric Le Goater <clg@kaod.org> wrote: > commit d35aefa9ae15 ("ppc/pnv: introduce a new intc_create() operation > to the chip model") changed the object link in the pnv_core_realize() > routine but a return was forgotten in case of error, which can lead to > more problems afterwards (segv) > > Signed-off-by: Cédric Le Goater <clg@kaod.org> > --- Reviewed-by: Greg Kurz <groug@kaod.org> > hw/ppc/pnv_core.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/hw/ppc/pnv_core.c b/hw/ppc/pnv_core.c > index a9f129fc2c5f..9750464bf4a1 100644 > --- a/hw/ppc/pnv_core.c > +++ b/hw/ppc/pnv_core.c > @@ -150,6 +150,7 @@ static void pnv_core_realize(DeviceState *dev, Error **errp) > if (!chip) { > error_propagate(errp, local_err); > error_prepend(errp, "required link 'chip' not found: "); > + return; > } > > pc->threads = g_new(PowerPCCPU *, cc->nr_threads);
On 06/26/2018 11:22 AM, Cédric Le Goater wrote: > commit d35aefa9ae15 ("ppc/pnv: introduce a new intc_create() operation > to the chip model") changed the object link in the pnv_core_realize() > routine but a return was forgotten in case of error, which can lead to > more problems afterwards (segv) > > Signed-off-by: Cédric Le Goater <clg@kaod.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > hw/ppc/pnv_core.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/hw/ppc/pnv_core.c b/hw/ppc/pnv_core.c > index a9f129fc2c5f..9750464bf4a1 100644 > --- a/hw/ppc/pnv_core.c > +++ b/hw/ppc/pnv_core.c > @@ -150,6 +150,7 @@ static void pnv_core_realize(DeviceState *dev, Error **errp) > if (!chip) { > error_propagate(errp, local_err); > error_prepend(errp, "required link 'chip' not found: "); > + return; > } > > pc->threads = g_new(PowerPCCPU *, cc->nr_threads); >
On Tue, Jun 26, 2018 at 04:22:14PM +0200, Cédric Le Goater wrote: > commit d35aefa9ae15 ("ppc/pnv: introduce a new intc_create() operation > to the chip model") changed the object link in the pnv_core_realize() > routine but a return was forgotten in case of error, which can lead to > more problems afterwards (segv) > > Signed-off-by: Cédric Le Goater <clg@kaod.org> Applied to ppc-for-3.0, thanks. > --- > hw/ppc/pnv_core.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/hw/ppc/pnv_core.c b/hw/ppc/pnv_core.c > index a9f129fc2c5f..9750464bf4a1 100644 > --- a/hw/ppc/pnv_core.c > +++ b/hw/ppc/pnv_core.c > @@ -150,6 +150,7 @@ static void pnv_core_realize(DeviceState *dev, Error **errp) > if (!chip) { > error_propagate(errp, local_err); > error_prepend(errp, "required link 'chip' not found: "); > + return; > } > > pc->threads = g_new(PowerPCCPU *, cc->nr_threads);
diff --git a/hw/ppc/pnv_core.c b/hw/ppc/pnv_core.c index a9f129fc2c5f..9750464bf4a1 100644 --- a/hw/ppc/pnv_core.c +++ b/hw/ppc/pnv_core.c @@ -150,6 +150,7 @@ static void pnv_core_realize(DeviceState *dev, Error **errp) if (!chip) { error_propagate(errp, local_err); error_prepend(errp, "required link 'chip' not found: "); + return; } pc->threads = g_new(PowerPCCPU *, cc->nr_threads);
commit d35aefa9ae15 ("ppc/pnv: introduce a new intc_create() operation to the chip model") changed the object link in the pnv_core_realize() routine but a return was forgotten in case of error, which can lead to more problems afterwards (segv) Signed-off-by: Cédric Le Goater <clg@kaod.org> --- hw/ppc/pnv_core.c | 1 + 1 file changed, 1 insertion(+)