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