mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 13:45:38 +00:00
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 commit4932ef45
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 (cherry picked from commit67f2b72723
)
This commit is contained in:
parent
b68f421ac2
commit
bc858f4682
@ -6116,31 +6116,28 @@ qemu-kvm -net nic,model=? /dev/null
|
||||
to be used for the domain. The source model is configured using the
|
||||
<code>model</code> attribute. Supported source models are:
|
||||
</p>
|
||||
<ul>
|
||||
<li>'random' — /dev/random (default) or /dev/hwrng
|
||||
device as source (for now, no other sources are permitted)</li>
|
||||
<li>'egd' — a EGD protocol backend</li>
|
||||
</ul>
|
||||
<dl>
|
||||
<dt><code>random</code></dt>
|
||||
<dd>
|
||||
<p>
|
||||
This backend type expects a non-blocking character device as
|
||||
input. The file name is specified as contents of the
|
||||
<code>backend</code> element. When no file name is specified
|
||||
the hypervisor default is used. For qemu, the default is
|
||||
/dev/random
|
||||
</p>
|
||||
</dd>
|
||||
<dt><code>egd</code></dt>
|
||||
<dd>
|
||||
<p>
|
||||
This backend connects to a source using the EGD protocol.
|
||||
The source is specified as a character device. Refer to
|
||||
<a href='#elementsCharHostInterface'>character device host interface</a>
|
||||
for more information.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd>
|
||||
<dt><code>backend model='random'</code></dt>
|
||||
<dd>
|
||||
<p>
|
||||
This backend type expects a non-blocking character device as input.
|
||||
The only accepted paths are /dev/random and /dev/hwrng. The file
|
||||
name is specified as contents of the <code>backend</code> element.
|
||||
When no file name is specified the hypervisor default is used.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><code>backend model='egd'</code></dt>
|
||||
<dd>
|
||||
<p>
|
||||
This backend connects to a source using the EGD protocol.
|
||||
The source is specified as a character device. Refer to
|
||||
<a href='#elementsCharHostInterface'>character device host interface</a>
|
||||
for more information.
|
||||
</p>
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
|
||||
<h4><a name="elementsTpm">TPM device</a></h4>
|
||||
|
@ -4671,8 +4671,7 @@
|
||||
<value>random</value>
|
||||
</attribute>
|
||||
<choice>
|
||||
<value>/dev/random</value>
|
||||
<value>/dev/hwrng</value>
|
||||
<ref name='absFilePath'/>
|
||||
<empty/>
|
||||
</choice>
|
||||
</group>
|
||||
|
@ -11463,14 +11463,6 @@ virDomainRNGDefParseXML(xmlNodePtr node,
|
||||
switch ((virDomainRNGBackend) def->backend) {
|
||||
case VIR_DOMAIN_RNG_BACKEND_RANDOM:
|
||||
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;
|
||||
|
||||
case VIR_DOMAIN_RNG_BACKEND_EGD:
|
||||
|
@ -18,6 +18,6 @@ QEMU_AUDIO_DRV=none \
|
||||
-boot c \
|
||||
-usb \
|
||||
-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,\
|
||||
addr=0x4
|
||||
|
@ -21,7 +21,7 @@
|
||||
<memballoon model='virtio'/>
|
||||
<rng model='virtio'>
|
||||
<rate bytes='123' period='1234'/>
|
||||
<backend model='random'>/dev/hwrng</backend>
|
||||
<backend model='random'>/dev/urandom</backend>
|
||||
</rng>
|
||||
</devices>
|
||||
</domain>
|
||||
|
@ -25,7 +25,7 @@
|
||||
</memballoon>
|
||||
<rng model='virtio'>
|
||||
<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'/>
|
||||
</rng>
|
||||
</devices>
|
||||
|
Loading…
Reference in New Issue
Block a user