diff options
author | Hanna Czenczek <hreitz@redhat.com> | 2025-07-24 14:59:27 +0200 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2025-08-01 08:33:04 -0400 |
commit | c1997099dc26d95eb9f2249f2894aabf4cf0bf8b (patch) | |
tree | 196db90ca2c8ffa07e8881edacc44dd53e27305e | |
parent | 6fcf5ebafad65adc19a616260ca7dc90005785d1 (diff) | |
download | qemu-c1997099dc26d95eb9f2249f2894aabf4cf0bf8b.zip qemu-c1997099dc26d95eb9f2249f2894aabf4cf0bf8b.tar.gz qemu-c1997099dc26d95eb9f2249f2894aabf4cf0bf8b.tar.bz2 |
vhost: Do not abort on log-start error
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 <timao@redhat.com>
Signed-off-by: Hanna Czenczek <hreitz@redhat.com>
Message-Id: <20250724125928.61045-2-hreitz@redhat.com>
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Tested-by: Lei Yang <leiyang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-rw-r--r-- | hw/virtio/vhost.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c index c30ea11..05ad5de 100644 --- a/hw/virtio/vhost.c +++ b/hw/virtio/vhost.c @@ -1110,7 +1110,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; } |