Cc'ing folks involved in the flawed commit.

Liliang <liangx.z...@intel.com> writes:

> From: Li Liang <liangx.z...@intel.com>
>
> This bug was introduced in the commit 
> 9005b2a7589540a3733b3abdcfbccfe7746cd1a1,
> it will cause deadlock when create a vm with the parameter "-monitor pty" and
> then try to read from /dev/pts/x.
>
> Signed-off-by: Li Liang <liangx.z...@intel.com>

Long lines in commit message, and the subject isn't as informative as it
could be.  Suggest something like:

    qemu-char: Fix deadlock in pty character device

    To reproduce, run with "-monitor pty", then try to read from the
    slave /dev/pts/FOO created for it.

    Broken in commit 9005b2a.

> ---
>  qemu-char.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/qemu-char.c b/qemu-char.c
> index 55e372c..55cdded 100644
> --- a/qemu-char.c
> +++ b/qemu-char.c
> @@ -1103,9 +1103,11 @@ static gboolean pty_chr_timer(gpointer opaque)
>      s->timer_tag = 0;
>      if (!s->connected) {
>          /* Next poll ... */
> +        qemu_mutex_unlock(&chr->chr_write_lock);
>          pty_chr_update_read_handler_locked(chr);
> +    } else {
> +        qemu_mutex_unlock(&chr->chr_write_lock);
>      }
> -    qemu_mutex_unlock(&chr->chr_write_lock);
>      return FALSE;
>  }

Reply via email to