|
|
76daa3 |
From 1cfd511f5d532854018b671d7ba880a41b8fd51c Mon Sep 17 00:00:00 2001
|
|
|
76daa3 |
From: Kevin Wolf <kwolf@redhat.com>
|
|
|
76daa3 |
Date: Wed, 31 May 2017 11:15:11 +0200
|
|
|
76daa3 |
Subject: [PATCH 04/13] stream: fix crash in stream_start() when
|
|
|
76daa3 |
block_job_create() fails
|
|
|
76daa3 |
|
|
|
76daa3 |
RH-Author: Kevin Wolf <kwolf@redhat.com>
|
|
|
76daa3 |
Message-id: <1496229312-8649-2-git-send-email-kwolf@redhat.com>
|
|
|
76daa3 |
Patchwork-id: 75446
|
|
|
76daa3 |
O-Subject: [RHEL-7.4 qemu-kvm-rhev PATCH 1/2] stream: fix crash in stream_start() when block_job_create() fails
|
|
|
76daa3 |
Bugzilla: 1456424
|
|
|
76daa3 |
RH-Acked-by: Fam Zheng <famz@redhat.com>
|
|
|
76daa3 |
RH-Acked-by: Jeffrey Cody <jcody@redhat.com>
|
|
|
76daa3 |
RH-Acked-by: Max Reitz <mreitz@redhat.com>
|
|
|
76daa3 |
RH-Acked-by: John Snow <jsnow@redhat.com>
|
|
|
76daa3 |
|
|
|
76daa3 |
From: Alberto Garcia <berto@igalia.com>
|
|
|
76daa3 |
|
|
|
76daa3 |
The code that tries to reopen a BlockDriverState in stream_start()
|
|
|
76daa3 |
when the creation of a new block job fails crashes because it attempts
|
|
|
76daa3 |
to dereference a pointer that is known to be NULL.
|
|
|
76daa3 |
|
|
|
76daa3 |
This is a regression introduced in a170a91fd3eab6155da39e740381867e,
|
|
|
76daa3 |
likely because the code was copied from stream_complete().
|
|
|
76daa3 |
|
|
|
76daa3 |
Cc: qemu-stable@nongnu.org
|
|
|
76daa3 |
Reported-by: Kashyap Chamarthy <kchamart@redhat.com>
|
|
|
76daa3 |
Signed-off-by: Alberto Garcia <berto@igalia.com>
|
|
|
76daa3 |
Tested-by: Kashyap Chamarthy <kchamart@redhat.com>
|
|
|
76daa3 |
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
|
|
|
76daa3 |
(cherry picked from commit 525989a50a70ea0ffa2b1cdf56279765bb2b7de0)
|
|
|
76daa3 |
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
|
|
76daa3 |
---
|
|
|
76daa3 |
block/stream.c | 2 +-
|
|
|
76daa3 |
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
76daa3 |
|
|
|
76daa3 |
diff --git a/block/stream.c b/block/stream.c
|
|
|
76daa3 |
index 0113710..52d329f 100644
|
|
|
76daa3 |
--- a/block/stream.c
|
|
|
76daa3 |
+++ b/block/stream.c
|
|
|
76daa3 |
@@ -280,6 +280,6 @@ void stream_start(const char *job_id, BlockDriverState *bs,
|
|
|
76daa3 |
|
|
|
76daa3 |
fail:
|
|
|
76daa3 |
if (orig_bs_flags != bdrv_get_flags(bs)) {
|
|
|
76daa3 |
- bdrv_reopen(bs, s->bs_flags, NULL);
|
|
|
76daa3 |
+ bdrv_reopen(bs, orig_bs_flags, NULL);
|
|
|
76daa3 |
}
|
|
|
76daa3 |
}
|
|
|
76daa3 |
--
|
|
|
76daa3 |
1.8.3.1
|
|
|
76daa3 |
|