mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 01:03:55 -06:00
spapr_rtas: Prevent QEMU crash during hotplug without a prior device_add
If drmgr is used in the guest to hotplug a device before a device_add has been issued via the QEMU monitor, QEMU segfaults in configure_connector call. This occurs due to accessing of NULL FDT which otherwise would have been created and associated with the DRC during device_add command. Check for NULL FDT and return failure from configure_connector call. As per PAPR+, an error value of -9003 seems appropriate for this failure. Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com> Cc: Michael Roth <mdroth@linux.vnet.ibm.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
aaf87c6616
commit
e6fc9568c8
2 changed files with 14 additions and 7 deletions
|
@ -522,6 +522,12 @@ static void rtas_ibm_configure_connector(PowerPCCPU *cpu,
|
|||
|
||||
drck = SPAPR_DR_CONNECTOR_GET_CLASS(drc);
|
||||
fdt = drck->get_fdt(drc, NULL);
|
||||
if (!fdt) {
|
||||
DPRINTF("rtas_ibm_configure_connector: Missing FDT for DRC index: %xh\n",
|
||||
drc_index);
|
||||
rc = SPAPR_DR_CC_RESPONSE_NOT_CONFIGURABLE;
|
||||
goto out;
|
||||
}
|
||||
|
||||
ccs = spapr_ccs_find(spapr, drc_index);
|
||||
if (!ccs) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue