On 2/21/25 20:05, Laine Stump wrote:
It has always been true that vhostuser interfaces require shared
memory, but we've never had that check in the validation. Recently I
added that check for the case of interface type='vhostuser' backend
type='passt'. This patch generalizes that check to require shared
memory for *any* vhostuser interface.
(While it is true that we've been allowing interface type='vhostuser'
without shared memory enabled for 11 years or so, so there might be
some existing config (or config-generating script) that does that and
would be broken by this new validation, it is also true that such a
config could never have worked, so it was already broken (just failing
at runtime rather than during parsing of the config)).
Signed-off-by: Laine Stump <laine(a)redhat.com>
---
new patch for V2
src/qemu/qemu_validate.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c
index f3ef1be660..2479596628 100644
--- a/src/qemu/qemu_validate.c
+++ b/src/qemu/qemu_validate.c
@@ -1820,9 +1820,8 @@ qemuValidateDomainDeviceDefNetwork(const virDomainNetDef *net,
return -1;
}
- if (net->type == VIR_DOMAIN_NET_TYPE_VHOSTUSER &&
- net->backend.type == VIR_DOMAIN_NET_BACKEND_PASST) {
- if (qemuValidateDomainDefVhostUserRequireSharedMemory(def, "interface
type=\"vhostuser\" backend type=\"passt\"") < 0)
+ if (net->type == VIR_DOMAIN_NET_TYPE_VHOSTUSER) {
+ if (qemuValidateDomainDefVhostUserRequireSharedMemory(def,
"vhostuser") < 0)
return -1;
}
This relaxed check breaks some tests:
Summary of Failures:
162/295 libvirt:bin / qemusecuritytest
FAIL 1.78s exit status 1
261/295 libvirt:bin / qemuxmlconftest
FAIL 10.24s exit status 1
Michal