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;
}