
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@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