File kvm-qemu-preXX-Don-t-allow-multiwrites-against-a-block-de.patch of Package kvm.853

From 301db7c2dd769d48e97c9a766520f8affff76cd7 Mon Sep 17 00:00:00 2001
From: Ryan Harper <ryanh@us.ibm.com>
Date: Mon, 7 Mar 2011 10:01:04 -0600
Subject: [PATCH] Don't allow multiwrites against a block device without underlying medium

If the block device has been closed, we no longer have a medium to submit
IO against, check for this before submitting io.  This prevents a segfault
further in the code where we dereference elements of the block driver.

Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
 block.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

Index: qemu-kvm-0.14.0/block.c
===================================================================
--- qemu-kvm-0.14.0.orig/block.c
+++ qemu-kvm-0.14.0/block.c
@@ -2295,6 +2295,14 @@ int bdrv_aio_multiwrite(BlockDriverState
     MultiwriteCB *mcb;
     int i;
 
+    /* don't submit writes if we don't have a medium */
+    if (bs->drv == NULL) {
+        for (i = 0; i < num_reqs; i++) {
+            reqs[i].error = -ENOMEDIUM;
+        }
+        return -1;
+    }
+
     if (num_reqs == 0) {
         return 0;
     }
openSUSE Build Service is sponsored by