From: Hanna Czenczek <hre...@redhat.com> Commit 3688fec8923 ("memory: Add Error** argument to .log_global_start() handler") enabled vhost_log_global_start() to return a proper error, but did not change it to do so; instead, it still aborts the whole process on error.
This crash can be reproduced by e.g. killing a virtiofsd daemon before initiating migration. In such a case, qemu should not crash, but just make the attempted migration fail. Buglink: https://issues.redhat.com/browse/RHEL-94534 Reported-by: Tingting Mao <ti...@redhat.com> Signed-off-by: Hanna Czenczek <hre...@redhat.com> Message-Id: <20250724125928.61045-2-hre...@redhat.com> Reviewed-by: Manos Pitsidianakis <manos.pitsidiana...@linaro.org> Reviewed-by: Stefano Garzarella <sgarz...@redhat.com> Tested-by: Lei Yang <leiy...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> (cherry picked from commit c1997099dc26d95eb9f2249f2894aabf4cf0bf8b) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c index 99d31cc1b4..26e5a67653 100644 --- a/hw/virtio/vhost.c +++ b/hw/virtio/vhost.c @@ -1111,7 +1111,8 @@ static bool vhost_log_global_start(MemoryListener *listener, Error **errp) r = vhost_migration_log(listener, true); if (r < 0) { - abort(); + error_setg_errno(errp, -r, "vhost: Failed to start logging"); + return false; } return true; } -- 2.47.2