Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752804AbaGNEgj (ORCPT ); Mon, 14 Jul 2014 00:36:39 -0400 Received: from mx1.redhat.com ([209.132.183.28]:64263 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750737AbaGNEgV (ORCPT ); Mon, 14 Jul 2014 00:36:21 -0400 From: Amit Shah To: linux-kernel@vger.kernel.org Cc: Virtualization List , Rusty Russell , herbert@gondor.apana.org.au, keescook@chromium.org, jason@lakedaemon.net, Amit Shah Subject: [RFC PATCH 3/3] Revert "virtio: rng: ensure reads happen after successful probe" Date: Mon, 14 Jul 2014 10:05:21 +0530 Message-Id: In-Reply-To: References: In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This reverts commit ceb5d72a2e27e95bc9570ce259c45b35f0e23462. This commit was added for -stable so systems with virtio-rng don't freeze at boot-time. With the addition of the previous commits that delay the request for initial randomness after probe() is successful, this is no longer needed. CC: Kees Cook CC: Jason Cooper CC: Herbert Xu Signed-off-by: Amit Shah --- drivers/char/hw_random/core.c | 6 ------ drivers/char/hw_random/virtio-rng.c | 10 ---------- 2 files changed, 16 deletions(-) diff --git a/drivers/char/hw_random/core.c b/drivers/char/hw_random/core.c index 2a765fd..148d9be 100644 --- a/drivers/char/hw_random/core.c +++ b/drivers/char/hw_random/core.c @@ -68,12 +68,6 @@ static void get_early_randomness(struct hwrng *rng) unsigned char bytes[16]; int bytes_read; - /* - * Currently only virtio-rng cannot return data during device - * probe, and that's handled in virtio-rng.c itself. If there - * are more such devices, this call to rng_get_data can be - * made conditional here instead of doing it per-device. - */ bytes_read = rng_get_data(rng, bytes, sizeof(bytes), 1); if (bytes_read > 0) add_device_randomness(bytes, bytes_read); diff --git a/drivers/char/hw_random/virtio-rng.c b/drivers/char/hw_random/virtio-rng.c index f53f1e8..f7d1573 100644 --- a/drivers/char/hw_random/virtio-rng.c +++ b/drivers/char/hw_random/virtio-rng.c @@ -37,8 +37,6 @@ struct virtrng_info { int index; }; -static bool probe_done; - static void random_recv_done(struct virtqueue *vq) { struct virtrng_info *vi = vq->vdev->priv; @@ -68,13 +66,6 @@ static int virtio_read(struct hwrng *rng, void *buf, size_t size, bool wait) int ret; struct virtrng_info *vi = (struct virtrng_info *)rng->priv; - /* - * Don't ask host for data till we're setup. This call can - * happen during hwrng_register(), after commit d9e7972619. - */ - if (unlikely(!probe_done)) - return 0; - if (!vi->busy) { vi->busy = true; init_completion(&vi->have_data); @@ -146,7 +137,6 @@ static int probe_common(struct virtio_device *vdev) return err; } - probe_done = true; return 0; } -- 1.9.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/