[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH for-6.2 v6 3/7] spapr_drc.c: do not error_report() when drc->
From: |
Markus Armbruster |
Subject: |
Re: [PATCH for-6.2 v6 3/7] spapr_drc.c: do not error_report() when drc->dev->id == NULL |
Date: |
Sat, 07 Aug 2021 15:41:52 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Daniel Henrique Barboza <danielhb413@gmail.com> writes:
> 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 <groug@kaod.org>
> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
> ---
> 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
This differs from PATCH 1 and 2 in that it actually fixes a crash bug.
The alternative is something like
error_report("Device hotunplug rejected by the guest "
"for device %s", drc->dev->id ?: "");
If the maintainer is okay with dropping the message when the device has
no ID, then so am I:
Reviewed-by: Markus Armbruster <armbru@redhat.com>
- Re: [PATCH for-6.2 v6 3/7] spapr_drc.c: do not error_report() when drc->dev->id == NULL,
Markus Armbruster <=