From 5337b43f308c025977311d700b2bd89dfc848b0c Mon Sep 17 00:00:00 2001 Message-ID: <5337b43f308c025977311d700b2bd89dfc848b0c.1742990721.git.jdenemar@redhat.com> From: Peter Krempa Date: Tue, 11 Mar 2025 09:01:12 +0100 Subject: [PATCH] qemuValidateDomainDeviceDefNetwork: Require shared memory for all vhost-user interfaces Currently we produce only a warning into the log if a non-passt vhost-user interface is configured with shared memory. Since we do make it fatal with all other vhost-user types, fix the check to trigger also for normal-vhost-user interfaces. Since passt-based vhost-user interfaces are checked separately the check will no longer be required. Signed-off-by: Peter Krempa Reviewed-by: Michal Privoznik (cherry picked from commit 0d20632179e1a61903f30986215bef53b0f912f6) https://issues.redhat.com/browse/RHEL-84133 --- src/qemu/qemu_validate.c | 9 +++------ .../net-vhostuser-passt-no-shmem.x86_64-latest.err | 2 +- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index f814ee8c0d..1c61038f93 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -1828,12 +1828,6 @@ 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) - return -1; - } - if (net->type == VIR_DOMAIN_NET_TYPE_VDPA) { if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_NETDEV_VHOST_VDPA)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", @@ -1857,6 +1851,9 @@ qemuValidateDomainDeviceDefNetwork(const virDomainNetDef *net, _("'reconnect' attribute is not supported when source mode='server' for ")); return -1; } + + if (qemuValidateDomainDefVhostUserRequireSharedMemory(def, "interface") < 0) + return -1; } if (!virDomainNetIsVirtioModel(net)) { diff --git a/tests/qemuxmlconfdata/net-vhostuser-passt-no-shmem.x86_64-latest.err b/tests/qemuxmlconfdata/net-vhostuser-passt-no-shmem.x86_64-latest.err index 274af5c722..babde17518 100644 --- a/tests/qemuxmlconfdata/net-vhostuser-passt-no-shmem.x86_64-latest.err +++ b/tests/qemuxmlconfdata/net-vhostuser-passt-no-shmem.x86_64-latest.err @@ -1 +1 @@ -unsupported configuration: 'interface type="vhostuser" backend type="passt"' requires shared memory +unsupported configuration: 'interface' requires shared memory -- 2.49.0