diff mbox series

system: Fix location print in axexit notifier callback

Message ID 20231207084609.2288573-1-zhenzhong.duan@intel.com (mailing list archive)
State New, archived
Headers show
Series system: Fix location print in axexit notifier callback | expand

Commit Message

Duan, Zhenzhong Dec. 7, 2023, 8:46 a.m. UTC
Some exit notifier callbacks call error_report_err if it fails
to do the cleanup. If this happens on QEMU command line parse
stage, i.e. there is fatal error, the location printed in
error_report_err is totally unrelated to exit notifier itself.
Set location to none to avoid such confusing.

Before fix:
qemu-system-x86_64: -device intel-iommu,device-iotlb=on,x-pasid-mode=on: PASID based device IOTLB is not supported
qemu-system-x86_64: -device intel-iommu,device-iotlb=on,x-pasid-mode=on: network script /root/qemu/build/qemu-bundle/usr/local/etc/qemu-ifdown failed with status 256

After fix:
qemu-system-x86_64: -device intel-iommu,device-iotlb=on,x-pasid-mode=on: PASID based device IOTLB is not supported
qemu-system-x86_64: network script /root/qemu/build/qemu-bundle/usr/local/etc/qemu-ifdown failed with status 256

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
---
 system/runstate.c | 9 +++++++++
 1 file changed, 9 insertions(+)
diff mbox series

Patch

diff --git a/system/runstate.c b/system/runstate.c
index ea9d6c2a32a4..32e9e9b541aa 100644
--- a/system/runstate.c
+++ b/system/runstate.c
@@ -797,6 +797,15 @@  void qemu_remove_exit_notifier(Notifier *notify)
 
 static void qemu_run_exit_notifiers(void)
 {
+    /*
+     * Some exit notifier callbacks call error_report_err if it fails
+     * to do the cleanup. If this happens on QEMU command line parse
+     * stage, i.e. there is fatal error, the location printed in
+     * error_report_err is totally unrelated to exit notifier itself.
+     * Set location to none to avoid such confusing.
+     */
+    loc_set_none();
+
     notifier_list_notify(&exit_notifiers, NULL);
 }