aboutsummaryrefslogtreecommitdiff
path: root/hw/ppc
diff options
context:
space:
mode:
authorGreg Kurz <groug@kaod.org>2017-05-18 15:58:31 +0200
committerDavid Gibson <david@gibson.dropbear.id.au>2017-05-24 11:39:53 +1000
commit07572c0653a60769df406c16136e2cc9234692f5 (patch)
treefc27bbe4479ab1c1c12100f996264d897847265c /hw/ppc
parentde86eccc0c836adfa8dbb94848096720177f5ccb (diff)
downloadqemu-07572c0653a60769df406c16136e2cc9234692f5.zip
qemu-07572c0653a60769df406c16136e2cc9234692f5.tar.gz
qemu-07572c0653a60769df406c16136e2cc9234692f5.tar.bz2
spapr: ensure core_slot isn't NULL in spapr_core_unplug()
If we go that far on the path of hot-removing a core and we find out that the core-id is invalid, then we have a serious bug. Let's make it explicit with an assert() instead of dereferencing a NULL pointer. This fixes Coverity issue CID 1375404. Signed-off-by: Greg Kurz <groug@kaod.org> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'hw/ppc')
-rw-r--r--hw/ppc/spapr.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 35dceb0..c912eaa 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -2725,6 +2725,7 @@ static void spapr_core_unplug(HotplugHandler *hotplug_dev, DeviceState *dev,
CPUCore *cc = CPU_CORE(dev);
CPUArchId *core_slot = spapr_find_cpu_slot(ms, cc->core_id, NULL);
+ assert(core_slot);
core_slot->cpu = NULL;
object_unparent(OBJECT(dev));
}