mirror of https://github.com/xemu-project/xemu.git
ppc/pnv: check return value of blk_pwrite()
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 <clg@kaod.org> Message-Id: <20200107171809.15556-2-clg@kaod.org> Reviewed-by: Greg Kurz <groug@kaod.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
b91cad2f07
commit
3a688294e2
|
@ -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)
|
static void pnv_pnor_update(PnvPnor *s, int offset, int size)
|
||||||
{
|
{
|
||||||
int offset_end;
|
int offset_end;
|
||||||
|
int ret;
|
||||||
|
|
||||||
if (s->blk) {
|
if (s->blk) {
|
||||||
return;
|
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 = QEMU_ALIGN_DOWN(offset, BDRV_SECTOR_SIZE);
|
||||||
offset_end = QEMU_ALIGN_UP(offset_end, BDRV_SECTOR_SIZE);
|
offset_end = QEMU_ALIGN_UP(offset_end, BDRV_SECTOR_SIZE);
|
||||||
|
|
||||||
blk_pwrite(s->blk, offset, s->storage + offset,
|
ret = blk_pwrite(s->blk, offset, s->storage + offset,
|
||||||
offset_end - offset, 0);
|
offset_end - offset, 0);
|
||||||
|
if (ret < 0) {
|
||||||
|
error_report("Could not update PNOR: %s", strerror(-ret));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void pnv_pnor_write(void *opaque, hwaddr addr, uint64_t data,
|
static void pnv_pnor_write(void *opaque, hwaddr addr, uint64_t data,
|
||||||
|
|
Loading…
Reference in New Issue