mirror of https://gitee.com/openkylin/libvirt.git
conf: Drop restrictions on rng backend path
Currently we only allow /dev/random and /dev/hwrng as host input
for <rng><backend model='random'/> device. This was added after
various upstream discussions in commit 4932ef45
However this restriction has generated quite a few complaints over
the years, so a new discussion was initiated:
http://www.redhat.com/archives/libvir-list/2016-April/msg00987.html
Several people suggested removing the restriction, and nobody really
spoke up to defend it. So this patch drops the path restriction
entirely
https://bugzilla.redhat.com/show_bug.cgi?id=1074464
This commit is contained in:
parent
84371303d8
commit
67f2b72723
|
@ -6244,10 +6244,10 @@ qemu-kvm -net nic,model=? /dev/null
|
||||||
<dd>
|
<dd>
|
||||||
<p>
|
<p>
|
||||||
This backend type expects a non-blocking character device as
|
This backend type expects a non-blocking character device as
|
||||||
input. The only accepted paths are /dev/random and /dev/hwrng.
|
input. The file name is specified as contents of the
|
||||||
The file name is specified as contents of the
|
|
||||||
<code>backend</code> element. When no file name is specified
|
<code>backend</code> element. When no file name is specified
|
||||||
the hypervisor default is used.
|
the hypervisor default is used. For qemu, the default is
|
||||||
|
/dev/random
|
||||||
</p>
|
</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt><code>egd</code></dt>
|
<dt><code>egd</code></dt>
|
||||||
|
|
|
@ -4693,8 +4693,7 @@
|
||||||
<value>random</value>
|
<value>random</value>
|
||||||
</attribute>
|
</attribute>
|
||||||
<choice>
|
<choice>
|
||||||
<value>/dev/random</value>
|
<ref name='absFilePath'/>
|
||||||
<value>/dev/hwrng</value>
|
|
||||||
<empty/>
|
<empty/>
|
||||||
</choice>
|
</choice>
|
||||||
</group>
|
</group>
|
||||||
|
|
|
@ -11497,14 +11497,6 @@ virDomainRNGDefParseXML(xmlNodePtr node,
|
||||||
switch ((virDomainRNGBackend) def->backend) {
|
switch ((virDomainRNGBackend) def->backend) {
|
||||||
case VIR_DOMAIN_RNG_BACKEND_RANDOM:
|
case VIR_DOMAIN_RNG_BACKEND_RANDOM:
|
||||||
def->source.file = virXPathString("string(./backend)", ctxt);
|
def->source.file = virXPathString("string(./backend)", ctxt);
|
||||||
if (def->source.file &&
|
|
||||||
STRNEQ(def->source.file, "/dev/random") &&
|
|
||||||
STRNEQ(def->source.file, "/dev/hwrng")) {
|
|
||||||
virReportError(VIR_ERR_XML_ERROR,
|
|
||||||
_("file '%s' is not a supported random source"),
|
|
||||||
def->source.file);
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VIR_DOMAIN_RNG_BACKEND_EGD:
|
case VIR_DOMAIN_RNG_BACKEND_EGD:
|
||||||
|
|
|
@ -18,6 +18,6 @@ QEMU_AUDIO_DRV=none \
|
||||||
-boot c \
|
-boot c \
|
||||||
-usb \
|
-usb \
|
||||||
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
|
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
|
||||||
-object rng-random,id=objrng0,filename=/dev/hwrng \
|
-object rng-random,id=objrng0,filename=/dev/urandom \
|
||||||
-device virtio-rng-pci,rng=objrng0,id=rng0,max-bytes=123,period=1234,bus=pci.0,\
|
-device virtio-rng-pci,rng=objrng0,id=rng0,max-bytes=123,period=1234,bus=pci.0,\
|
||||||
addr=0x4
|
addr=0x4
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
<memballoon model='virtio'/>
|
<memballoon model='virtio'/>
|
||||||
<rng model='virtio'>
|
<rng model='virtio'>
|
||||||
<rate bytes='123' period='1234'/>
|
<rate bytes='123' period='1234'/>
|
||||||
<backend model='random'>/dev/hwrng</backend>
|
<backend model='random'>/dev/urandom</backend>
|
||||||
</rng>
|
</rng>
|
||||||
</devices>
|
</devices>
|
||||||
</domain>
|
</domain>
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
</memballoon>
|
</memballoon>
|
||||||
<rng model='virtio'>
|
<rng model='virtio'>
|
||||||
<rate bytes='123' period='1234'/>
|
<rate bytes='123' period='1234'/>
|
||||||
<backend model='random'>/dev/hwrng</backend>
|
<backend model='random'>/dev/urandom</backend>
|
||||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
|
||||||
</rng>
|
</rng>
|
||||||
</devices>
|
</devices>
|
||||||
|
|
Loading…
Reference in New Issue