On Tue, Aug 24, 2021 at 09:48:31PM -0300, Daniel Henrique Barboza wrote: > The error_report() call in drc_unisolate_logical() is not considering > that drc->dev->id can be NULL, and the underlying functions error_report() > calls to do its job (vprintf(), g_strdup_printf() ...) has undefined > behavior when trying to handle "%s" with NULL arguments. > > Besides, there is no utility into reporting that an unknown device was > rejected by the guest. > > Reviewed-by: Greg Kurz <gr...@kaod.org> > Reviewed-by: Markus Armbruster <arm...@redhat.com> > Signed-off-by: Daniel Henrique Barboza <danielhb...@gmail.com>
Acked-by: David Gibson <da...@gibson.dropbear.id.au> > --- > hw/ppc/spapr_drc.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/hw/ppc/spapr_drc.c b/hw/ppc/spapr_drc.c > index a2f2634601..a4d9496f76 100644 > --- a/hw/ppc/spapr_drc.c > +++ b/hw/ppc/spapr_drc.c > @@ -167,8 +167,11 @@ static uint32_t drc_unisolate_logical(SpaprDrc *drc) > } > > drc->unplug_requested = false; > - error_report("Device hotunplug rejected by the guest " > - "for device %s", drc->dev->id); > + > + if (drc->dev->id) { > + error_report("Device hotunplug rejected by the guest " > + "for device %s", drc->dev->id); > + } > > /* > * TODO: send a QAPI DEVICE_UNPLUG_ERROR event when -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature