dma: the passed io_func does not return NULL
Initially found with the following semantic patch:
@ type @
BlockDriverAIOCB *x;
expression E;
@@
x = E;
- if (x == NULL) { ... }
@ acb1 @
expression E, E1;
@@
E1->acb = E;
- if (E1->acb == NULL) { ... }
@ aiocb1 @
expression E, E1;
@@
E1->aiocb = E;
- if (E1->aiocb == NULL) { ... }
@ acb @
expression E, E1;
@@
E1.acb = E;
- if (E1.acb == NULL) { ... }
@ aiocb @
expression E, E1;
@@
E1.aiocb = E;
- if (E1.aiocb == NULL) { ... }
but changed manually to include an assert.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
diff --git a/dma-helpers.c b/dma-helpers.c
index 9d6b6fa..f08cdb5 100644
--- a/dma-helpers.c
+++ b/dma-helpers.c
@@ -142,9 +142,7 @@
dbs->acb = dbs->io_func(dbs->bs, dbs->sector_num, &dbs->iov,
dbs->iov.size / 512, dma_bdrv_cb, dbs);
- if (!dbs->acb) {
- dma_complete(dbs, -EIO);
- }
+ assert(dbs->acb);
}
static void dma_aio_cancel(BlockDriverAIOCB *acb)