[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v10 4/3] hw/sd/ssi-sd: fix error handling in ssi_sd_realize
From: |
Markus Armbruster |
Subject: |
Re: [PATCH v10 4/3] hw/sd/ssi-sd: fix error handling in ssi_sd_realize |
Date: |
Tue, 17 Mar 2020 16:13:11 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Vladimir Sementsov-Ogievskiy <address@hidden> writes:
> It's wrong to use same err object as errp parameter for several
> function calls without intermediate checking for error: we'll crash if
> try to set err object twice. Fix that.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
> ---
>
> Forgive me for sending this into your series, but seems it is very
> appropriate.
>
> It's rephrasing of my
> [PATCH v9 03/10] hw/sd/ssi-sd: fix error handling in ssi_sd_realize
> for partI series but but without use of ERRP_AUTO_PROPAGATE.
>
> hw/sd/ssi-sd.c | 16 ++++++++++++++--
> 1 file changed, 14 insertions(+), 2 deletions(-)
>
> diff --git a/hw/sd/ssi-sd.c b/hw/sd/ssi-sd.c
> index 91db069212..829797b597 100644
> --- a/hw/sd/ssi-sd.c
> +++ b/hw/sd/ssi-sd.c
> @@ -255,13 +255,25 @@ static void ssi_sd_realize(SSISlave *d, Error **errp)
> carddev = qdev_create(BUS(&s->sdbus), TYPE_SD_CARD);
> if (dinfo) {
> qdev_prop_set_drive(carddev, "drive", blk_by_legacy_dinfo(dinfo),
> &err);
> + if (err) {
> + goto fail;
> + }
> }
> +
> object_property_set_bool(OBJECT(carddev), true, "spi", &err);
> + if (err) {
> + goto fail;
> + }
> +
> object_property_set_bool(OBJECT(carddev), true, "realized", &err);
> if (err) {
> - error_setg(errp, "failed to init SD card: %s",
> error_get_pretty(err));
> - return;
> + goto fail;
> }
> +
> + return;
> +
> +fail:
> + error_propagate_prepend(errp, err, "failed to init SD card: ");
> }
>
> static void ssi_sd_reset(DeviceState *dev)
Reviewed-by: Markus Armbruster <address@hidden>
- Re: [PATCH 1/3] Use &error_abort instead of separate assert(), (continued)
[PATCH 3/3] xen-block: Use one Error * variable instead of two, Markus Armbruster, 2020/03/13
Re: [PATCH 0/3] Minor error handling cleanups, Peter Maydell, 2020/03/13
[PATCH v10 4/3] hw/sd/ssi-sd: fix error handling in ssi_sd_realize, Vladimir Sementsov-Ogievskiy, 2020/03/17
Re: [PATCH 0/3] Minor error handling cleanups, Markus Armbruster, 2020/03/17