render / rpms / libvirt

Forked from rpms/libvirt 9 months ago
Clone
99cbc7
From 62d0406b726b0d62cb136924e7dce2a2fd364ec6 Mon Sep 17 00:00:00 2001
99cbc7
Message-Id: <62d0406b726b0d62cb136924e7dce2a2fd364ec6@dist-git>
99cbc7
From: Peter Krempa <pkrempa@redhat.com>
99cbc7
Date: Tue, 3 Jul 2018 16:48:38 +0200
99cbc7
Subject: [PATCH] qemu: hotplug: Don't access srcPriv when it's not allocated
99cbc7
99cbc7
The private data of a virStorageSource which is backing an iSCSI hostdev
99cbc7
may be NULL if no authentication is present. The code handling the
99cbc7
hotplug would attempt to extract the authentication info stored in
99cbc7
'secinfo' without checking if it is allocated which resulted in a crash.
99cbc7
99cbc7
Here we opt the easy way to check if srcPriv is not NULL so that we
99cbc7
don't duplicate all the logic which selects whether the disk source has
99cbc7
a secret.
99cbc7
99cbc7
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1597550
99cbc7
99cbc7
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
99cbc7
Reviewed-by: John Ferlan <jferlan@redhat.com>
99cbc7
(cherry picked from commit 33a475056fdd76c030528982e422bae79c0a0e4a)
99cbc7
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
99cbc7
---
99cbc7
 src/qemu/qemu_hotplug.c | 3 ++-
99cbc7
 1 file changed, 2 insertions(+), 1 deletion(-)
99cbc7
99cbc7
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
99cbc7
index fcd8eb0ffa..075f2fb72e 100644
99cbc7
--- a/src/qemu/qemu_hotplug.c
99cbc7
+++ b/src/qemu/qemu_hotplug.c
99cbc7
@@ -2240,7 +2240,8 @@ qemuDomainAttachHostSCSIDevice(virQEMUDriverPtr driver,
99cbc7
     if (scsisrc->protocol == VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_ISCSI) {
99cbc7
         qemuDomainStorageSourcePrivatePtr srcPriv =
99cbc7
             QEMU_DOMAIN_STORAGE_SOURCE_PRIVATE(scsisrc->u.iscsi.src);
99cbc7
-        secinfo = srcPriv->secinfo;
99cbc7
+        if (srcPriv)
99cbc7
+            secinfo = srcPriv->secinfo;
99cbc7
     }
99cbc7
 
99cbc7
     if (secinfo && secinfo->type == VIR_DOMAIN_SECRET_INFO_TYPE_AES) {
99cbc7
-- 
99cbc7
2.18.0
99cbc7