@samitouri / QOSamiQemu / commits / ddf5738503

chardev: Don't unregister yank upon async path connection failure

Commit 5c102ac9 ("chardev: Consolidate yank registration") has moved yank registration in the tcp_chr_connect_client_async() path to after the connection is successful. If qio_channel_socket_connect_sync() fails early, there will be no yank registered to be unregistered in the error path, leading to assert. Remove the now-extraneous unregister. Cc: qemu-stable@nongnu.org Fixes: 5c102ac9 ("chardev: Consolidate yank registration") Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3528 Signed-off-by: Fabiano Rosas <farosas@suse.de> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-ID: <20260603141137.1108963-1-farosas@suse.de>

Fabiano Rosas committed Jun 3, 2026 at 11:11 UTC ddf5738503e2ba6adb74359abf3b6e7aa81af420
1 file changed -5
chardev/char-socket.c
-5
@@ -1128,11 +1128,6 @@ static void qemu_chr_socket_connected(QIOTask *task, void *opaque)
1128
1129 if (qio_task_propagate_error(task, &err)) {
1130 tcp_chr_change_state(s, TCP_CHARDEV_STATE_DISCONNECTED);
1131 - if (s->registered_yank) {
1132 - yank_unregister_function(CHARDEV_YANK_INSTANCE(chr->label),
1133 - char_socket_yank_iochannel,
1134 - QIO_CHANNEL(sioc));
1135 - }
1131 check_report_connect_error(chr, err);
1132 goto cleanup;
1133 }