[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/2] ppc/pnv: check return value of blk_pwrite()
From: |
David Gibson |
Subject: |
Re: [PATCH 1/2] ppc/pnv: check return value of blk_pwrite() |
Date: |
Wed, 8 Jan 2020 11:56:50 +1100 |
On Tue, Jan 07, 2020 at 07:22:18PM +0100, Philippe Mathieu-Daudé wrote:
> On 1/7/20 6:18 PM, Cédric Le Goater wrote:
> > When updating the PNOR file contents, we should check for a possible
> > failure of blk_pwrite().
> >
> > Fixes Coverity issue CID 1412228.
> >
> > Signed-off-by: Cédric Le Goater <address@hidden>
> > ---
> > hw/ppc/pnv_pnor.c | 8 ++++++--
> > 1 file changed, 6 insertions(+), 2 deletions(-)
> >
> > diff --git a/hw/ppc/pnv_pnor.c b/hw/ppc/pnv_pnor.c
> > index bfb1e92b0392..0e86ae2feae6 100644
> > --- a/hw/ppc/pnv_pnor.c
> > +++ b/hw/ppc/pnv_pnor.c
> > @@ -33,6 +33,7 @@ static uint64_t pnv_pnor_read(void *opaque, hwaddr addr,
> > unsigned size)
> > static void pnv_pnor_update(PnvPnor *s, int offset, int size)
> > {
> > int offset_end;
> > + int ret;
> > if (s->blk) {
> > return;
> > @@ -42,8 +43,11 @@ static void pnv_pnor_update(PnvPnor *s, int offset, int
> > size)
> > offset = QEMU_ALIGN_DOWN(offset, BDRV_SECTOR_SIZE);
> > offset_end = QEMU_ALIGN_UP(offset_end, BDRV_SECTOR_SIZE);
> > - blk_pwrite(s->blk, offset, s->storage + offset,
> > - offset_end - offset, 0);
> > + ret = blk_pwrite(s->blk, offset, s->storage + offset,
> > + offset_end - offset, 0);
> > + if (ret < 0) {
> > + error_report("Could not update PNOR: %s", strerror(-ret));
>
> Can you report the failed offset too please?
Since this fixes a coverity warning, I'm applying now, and extending
the error message can be a followup.
>
> Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
>
> > + }
> > }
> > static void pnv_pnor_write(void *opaque, hwaddr addr, uint64_t data,
> >
>
--
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