From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:33597) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1US6tb-0005FE-6I for qemu-devel@nongnu.org; Tue, 16 Apr 2013 10:30:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1US6oE-00072t-H9 for qemu-devel@nongnu.org; Tue, 16 Apr 2013 10:24:39 -0400 Message-ID: <516D5762.7060900@suse.de> Date: Tue, 16 Apr 2013 15:51:30 +0200 From: =?ISO-8859-15?Q?Andreas_F=E4rber?= MIME-Version: 1.0 References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 1/1] rng random backend: check for -EAGAIN errors on read List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Amit Shah Cc: qemu list , Anthony Liguori , qemu-stable Am 16.04.2013 12:28, schrieb Amit Shah: > Not handling EAGAIN triggers the assert >=20 > qemu/backends/rng-random.c:44:entropy_available: assertion failed: (len= !=3D -1) > Aborted (core dumped) >=20 > 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. >=20 > Reported-by: yunpingzheng > Signed-off-by: Amit Shah Doesn't this apply to stable, too, then? Regards, Andreas > --- > backends/rng-random.c | 3 +++ > 1 file changed, 3 insertions(+) >=20 > 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; > =20 > len =3D read(s->fd, buffer, s->size); > + if (len < 0 && errno =3D=3D EAGAIN) { > + return; > + } > g_assert(len !=3D -1); > =20 > s->receive_func(s->opaque, buffer, len); --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=F6rffer; HRB 16746 AG N=FCrnbe= rg