62 lines
2.2 KiB
Diff
62 lines
2.2 KiB
Diff
From 1f47578a5af4e7d4e1587d2334a07e867cf819d4 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>
|
|
Date: Tue, 24 Nov 2020 08:43:38 -0500
|
|
Subject: [PATCH] qga: fix assert regression on guest-shutdown
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
RH-Author: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
Message-id: <20201124084338.199348-2-marcandre.lureau@redhat.com>
|
|
Patchwork-id: 99877
|
|
O-Subject: [RHEL-8.3.0.z qemu-kvm PATCH 1/1] qga: fix assert regression on guest-shutdown
|
|
Bugzilla: 1900578
|
|
RH-Acked-by: Danilo de Paula <ddepaula@redhat.com>
|
|
RH-Acked-by: Stefano Garzarella <sgarzare@redhat.com>
|
|
RH-Acked-by: Philippe Mathieu-Daudé <philmd@redhat.com>
|
|
|
|
From: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
|
|
Since commit 781f2b3d1e ("qga: process_event() simplification"),
|
|
send_response() is called unconditionally, but will assert when "rsp" is
|
|
NULL. This may happen with QCO_NO_SUCCESS_RESP commands, such as
|
|
"guest-shutdown".
|
|
|
|
Fixes: 781f2b3d1e5ef389b44016a897fd55e7a780bf35
|
|
Cc: Michael Roth <mdroth@linux.vnet.ibm.com>
|
|
Reported-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
|
|
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
|
|
Reviewed-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
|
|
Tested-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
|
|
Cc: qemu-stable@nongnu.org
|
|
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
|
|
|
|
(cherry picked from commit 844bd70b5652f30bbace89499f513e3fbbb6457a)
|
|
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
|
|
---
|
|
qga/main.c | 6 +++++-
|
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/qga/main.c b/qga/main.c
|
|
index c35c2a21209..12fa463f4cd 100644
|
|
--- a/qga/main.c
|
|
+++ b/qga/main.c
|
|
@@ -529,7 +529,11 @@ static int send_response(GAState *s, const QDict *rsp)
|
|
QString *payload_qstr, *response_qstr;
|
|
GIOStatus status;
|
|
|
|
- g_assert(rsp && s->channel);
|
|
+ g_assert(s->channel);
|
|
+
|
|
+ if (!rsp) {
|
|
+ return 0;
|
|
+ }
|
|
|
|
payload_qstr = qobject_to_json(QOBJECT(rsp));
|
|
if (!payload_qstr) {
|
|
--
|
|
2.27.0
|
|
|