mirror of https://gitee.com/openkylin/qemu.git
target-arm: fix a segmentation fault due to illegal memory access
The elements of kvm_devices_head list are freed in kvm_arm_machine_init_done(), but we still access these illegal memory in kvm_arm_devlistener_del(). This will cause segment fault when booting guest with MALLOC_PERTURB_=1. Signed-off-by: Zheng Xiang <xiang.zheng@linaro.org> Message-id: 20180619075821.9884-1-zhengxiang9@huawei.com Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
8297cb13e4
commit
5ff9aaabdc
|
@ -256,6 +256,7 @@ static void kvm_arm_machine_init_done(Notifier *notifier, void *data)
|
||||||
kvm_arm_set_device_addr(kd);
|
kvm_arm_set_device_addr(kd);
|
||||||
}
|
}
|
||||||
memory_region_unref(kd->mr);
|
memory_region_unref(kd->mr);
|
||||||
|
QSLIST_REMOVE_HEAD(&kvm_devices_head, entries);
|
||||||
g_free(kd);
|
g_free(kd);
|
||||||
}
|
}
|
||||||
memory_listener_unregister(&devlistener);
|
memory_listener_unregister(&devlistener);
|
||||||
|
|
Loading…
Reference in New Issue