Marc-André Lureau <[email protected]> writes: > On Wed, Jun 3, 2026 at 6:11 PM Fabiano Rosas <[email protected]> wrote: >> >> 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: [email protected] >> Fixes: 5c102ac9 ("chardev: Consolidate yank registration") >> Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3528 >> Signed-off-by: Fabiano Rosas <[email protected]> >> --- >> chardev/char-socket.c | 5 ----- >> 1 file changed, 5 deletions(-) >> >> diff --git a/chardev/char-socket.c b/chardev/char-socket.c >> index e064b105c5..99e01a4875 100644 >> --- a/chardev/char-socket.c >> +++ b/chardev/char-socket.c >> @@ -1128,11 +1128,6 @@ static void qemu_chr_socket_connected(QIOTask *task, >> void *opaque) >> >> if (qio_task_propagate_error(task, &err)) { >> tcp_chr_change_state(s, TCP_CHARDEV_STATE_DISCONNECTED); >> - if (s->registered_yank) { > > Is "registered_yank" stalled too? shouldn't be set to false to avoid > that path and possibly others? >
No because registered_yank is about the YankInstance. There's no actual tracking of the individual YankFns. >> - yank_unregister_function(CHARDEV_YANK_INSTANCE(chr->label), >> - char_socket_yank_iochannel, >> - QIO_CHANNEL(sioc)); >> - } >> check_report_connect_error(chr, err); >> goto cleanup; >> } >> -- >> 2.53.0 >>
