On Thu, Feb 26, 2026 at 10:44:29 +0100, Pavel Hrdina via Devel wrote: > From: Pavel Hrdina <[email protected]> > > Currently virDomainNetDef and virDomainActualNetDef use > virDomainHostdevDef directly as structure and the code doesn't call > virDomainHostdevDefNew() that would initialize private data. > > This is hackish quick fix to solve a crash that happens in two > scenarios: > > 1. attaching any interface with hostdev backend > > 0x0000fffbfc0e2a90 in qemuDomainAttachHostPCIDevice (driver=0xfffbb4006750, > vm=0xfffbf001f790, hostdev=0xfffbf400b150) at ../src/qemu/qemu_hotplug.c:1652 > 1652 if ((ret = qemuFDPassDirectTransferMonitor(hostdevPriv->vfioDeviceFd, > priv->mon)) < 0) > > 2. starting VM with interface with hostdev backend using iommufd > > 0x00007f6638d5b9ca in qemuProcessOpenVfioDeviceFd > (hostdev=hostdev@entry=0x7f6634425ee0) at ../src/qemu/qemu_process.c:7719 > 7719 hostdevPriv->vfioDeviceFd = qemuFDPassDirectNew(name, > &vfioDeviceFd); > > Proper fix for this issue is to refactor network code to use pointer and to > use virDomainHostdevDefNew(). > > Signed-off-by: Pavel Hrdina <[email protected]> > --- > src/conf/domain_conf.c | 23 +++++++++++++++++++++-- > 1 file changed, 21 insertions(+), 2 deletions(-)
Reviewed-by: Peter Krempa <[email protected]>
