Patchwork [3/7] scsi-generic: check the return value of bdrv_aio_ioctl in execute_command

login
register
mail settings
Submitter Paolo Bonzini
Date June 18, 2013, 2:16 p.m.
Message ID <1371565016-2643-4-git-send-email-pbonzini@redhat.com>
Download mbox | patch
Permalink /patch/252358/
State New
Headers show

Comments

Paolo Bonzini - June 18, 2013, 2:16 p.m.
From: Pavel Hrdina <phrdina@redhat.com>

This fixes the bug introduced by this commit ad54ae80c73f.
The bdrv_aio_ioctl() still could return null and we should return an error
in that case.

Cc: qemu-stable@nongnu.org
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/scsi/scsi-generic.c | 3 +++
 1 file changed, 3 insertions(+)

Patch

diff --git a/hw/scsi/scsi-generic.c b/hw/scsi/scsi-generic.c
index 19bd36c..8f195be 100644
--- a/hw/scsi/scsi-generic.c
+++ b/hw/scsi/scsi-generic.c
@@ -174,6 +174,9 @@  static int execute_command(BlockDriverState *bdrv,
     r->io_header.flags |= SG_FLAG_DIRECT_IO;
 
     r->req.aiocb = bdrv_aio_ioctl(bdrv, SG_IO, &r->io_header, complete, r);
+    if (r->req.aiocb == NULL) {
+        return -EIO;
+    }
 
     return 0;
 }