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

Reply via email to