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
}