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?

> -            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
>


Reply via email to