diff mbox

[1/1] virtio: rng: add derating factor for use by hwrng core

Message ID 6f2df652355d6e78da846d06e32489b7d9cdfcc2.1407782982.git.amit.shah@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Amit Shah Aug. 11, 2014, 6:49 p.m. UTC
The khwrngd thread is started when a hwrng device of sufficient
quality is registered.  The virtio-rng device is backed by the
hypervisor, and we trust the hypervisor to provide real entropy.  A
malicious hypervisor is a scenario that's ruled out, so we are certain
the quality of randomness we receive is perfectly trustworthy.  Hence,
we use 100% for the factor, indicating maximum confidence in the source.

Signed-off-by: Amit Shah <amit.shah@redhat.com>

---
Pretty small and contained patch; would be great if it is picked up for
3.17.
---
 drivers/char/hw_random/virtio-rng.c | 1 +
 1 file changed, 1 insertion(+)

Comments

H. Peter Anvin Aug. 11, 2014, 10:11 p.m. UTC | #1
On 08/11/2014 11:49 AM, Amit Shah wrote:
> The khwrngd thread is started when a hwrng device of sufficient
> quality is registered.  The virtio-rng device is backed by the
> hypervisor, and we trust the hypervisor to provide real entropy.  A
> malicious hypervisor is a scenario that's ruled out, so we are certain
> the quality of randomness we receive is perfectly trustworthy.  Hence,
> we use 100% for the factor, indicating maximum confidence in the source.
> 
> Signed-off-by: Amit Shah <amit.shah@redhat.com>

It isn't "ruled out", it is just irrelevant: if the hypervisor is
malicious, the quality of your random number source is the least of your
problems.

	-hpa


--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Amit Shah Aug. 12, 2014, 5:27 a.m. UTC | #2
On (Mon) 11 Aug 2014 [15:11:03], H. Peter Anvin wrote:
> On 08/11/2014 11:49 AM, Amit Shah wrote:
> > The khwrngd thread is started when a hwrng device of sufficient
> > quality is registered.  The virtio-rng device is backed by the
> > hypervisor, and we trust the hypervisor to provide real entropy.  A
> > malicious hypervisor is a scenario that's ruled out, so we are certain
> > the quality of randomness we receive is perfectly trustworthy.  Hence,
> > we use 100% for the factor, indicating maximum confidence in the source.
> > 
> > Signed-off-by: Amit Shah <amit.shah@redhat.com>
> 
> It isn't "ruled out", it is just irrelevant: if the hypervisor is
> malicious, the quality of your random number source is the least of your
> problems.

Yea; I meant ruled out in that sense.  Should the commit msg be more
verbose?

		Amit
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
H. Peter Anvin Aug. 12, 2014, 2:59 p.m. UTC | #3
On 08/11/2014 10:27 PM, Amit Shah wrote:
> On (Mon) 11 Aug 2014 [15:11:03], H. Peter Anvin wrote:
>> On 08/11/2014 11:49 AM, Amit Shah wrote:
>>> The khwrngd thread is started when a hwrng device of sufficient
>>> quality is registered.  The virtio-rng device is backed by the
>>> hypervisor, and we trust the hypervisor to provide real entropy.  A
>>> malicious hypervisor is a scenario that's ruled out, so we are certain
>>> the quality of randomness we receive is perfectly trustworthy.  Hence,
>>> we use 100% for the factor, indicating maximum confidence in the source.
>>>
>>> Signed-off-by: Amit Shah <amit.shah@redhat.com>
>>
>> It isn't "ruled out", it is just irrelevant: if the hypervisor is
>> malicious, the quality of your random number source is the least of your
>> problems.
> 
> Yea; I meant ruled out in that sense.  Should the commit msg be more
> verbose?
> 

Yes, as it is written it is misleading.

	-hpa


--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/char/hw_random/virtio-rng.c b/drivers/char/hw_random/virtio-rng.c
index 0027137..2e3139e 100644
--- a/drivers/char/hw_random/virtio-rng.c
+++ b/drivers/char/hw_random/virtio-rng.c
@@ -116,6 +116,7 @@  static int probe_common(struct virtio_device *vdev)
 		.cleanup = virtio_cleanup,
 		.priv = (unsigned long)vi,
 		.name = vi->name,
+		.quality = 1000,
 	};
 	vdev->priv = vi;