Am 16.04.2013 12:28, schrieb Amit Shah:
> Not handling EAGAIN triggers the assert
> 
> qemu/backends/rng-random.c:44:entropy_available: assertion failed: (len != -1)
> Aborted (core dumped)
> 
> This happens when starting a guest with '-device virtio-rng-pci',
> issuing a 'cat /dev/hwrng' in the guest, while also doing 'cat
> /dev/random' on the host.
> 
> Reported-by: yunpingzheng <yunzh...@redhat.com>
> Signed-off-by: Amit Shah <amit.s...@redhat.com>

Doesn't this apply to stable, too, then?

Regards,
Andreas

> ---
>  backends/rng-random.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/backends/rng-random.c b/backends/rng-random.c
> index d5761f2..830360c 100644
> --- a/backends/rng-random.c
> +++ b/backends/rng-random.c
> @@ -41,6 +41,9 @@ static void entropy_available(void *opaque)
>      ssize_t len;
>  
>      len = read(s->fd, buffer, s->size);
> +    if (len < 0 && errno == EAGAIN) {
> +        return;
> +    }
>      g_assert(len != -1);
>  
>      s->receive_func(s->opaque, buffer, len);

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

Reply via email to