** Description changed: [ Impact ] * libvirtd crashs when users tries to hotplug a virtiofs into a VM running in session mode (qemu:///session) [ Test Plan ] $ sudo apt install qemu-system-x86 \ - libvirt-daemon-system \ - libvirt-clients \ - ovmf \ - virtinst + libvirt-daemon-system \ + libvirt-clients \ + ovmf \ + virtinst $ sudo apt install virtiofsd uidmap $ cat vm.xml <domain type='qemu'> <name>test</name> <memory unit='MiB'>2048</memory> <vcpu>2</vcpu> <os> <type arch='x86_64' machine='q35'>hvm</type> </os> <cpu mode='custom' match='exact'> <model fallback='allow'>qemu64</model> </cpu> <features> <acpi/> <apic/> </features> <!-- Force TCG (no KVM) --> <devices> <emulator>/usr/bin/qemu-system-x86_64</emulator> <controller type='pci' model='pcie-root'/> <controller type='virtio-serial'/> <console type='pty'/> </devices> <!-- Required for virtio-fs --> <memoryBacking> <source type='memfd'/> <access mode='shared'/> </memoryBacking> </domain> $ virsh -c qemu:///session define vm.xml $ virsh -c qemu:///session start test - $ virt-xml -c qemu:///session test --update --add-device --filesystem type=mount,accessmode=passthrough,driver.type=virtiofs,source.dir=/home/ubuntu/tmp,target.dir=mnt + $ virt-xml -c qemu:///session test --update --add-device --filesystem type=mount,accessmode=passthrough,driver.type=virtiofs,source.dir=/mnt,target.dir=mnt -> without the fix, libvirtd crashs [ Where problems could occur ] * This is one line fix that basically do a sanity check however it enables the virtiofsd feature for session VMs, problems could occur during the use of this feature. [ Other Info ] * Upstream has the fix starting from version v10.2 so Questing onwards is ok We just need to backport it to Noble and eventually to Jammy. ---- Original report ---- Ubuntu 24.04.3 LTS libvirt-daemon 10.0.0-2ubuntu8.11 When adding a filesystem to a running VM on the session connection, libvirtd crashes. Steps to reproduce: - Make a VM on the session connection. I believe the details don't matter. Stop it. - Set the necessary "memory backing" parameters. $ virt-xml -c qemu:///session subVmTest1 --edit 1 --memorybacking access.mode=shared,source.type=memfd - Start the machine. $ virsh -c qemu:///session start subVmTest1 - Add a filesystem with virt-xml. $ virt-xml -c qemu:///session subVmTest1 --update --add-device --filesystem type=mount,accessmode=passthrough,driver.type=virtiofs,source.dir=/mnt,target.dir=mnt ERROR Error attempting device hotplug: End of file while reading data: Input/output error This will be in the journal: Jan 22 14:32:37 ubuntu systemd-coredump[2104]: [🡕] Process 1728 (libvirtd) of user 1000 terminated abnormally without generating a coredump. - Repeating the attempt fails differently. $ virt-xml -c qemu:///session subVmTest1 --update --add-device --filesystem type=mount,accessmode=passthrough,driver.type=virtiofs,source.dir=/mnt,target.dir=mnt ERROR Error attempting device hotplug: Cannot open log file: '/home/admin/.cache/libvirt/qemu/log/subVmTest1-fs0-virtiofsd.log': Device or resource busy The content of that file is: [2026-01-22T14:39:20Z WARN virtiofsd] Use of deprecated option format '-o': Please specify options without it (e.g., '--cache auto' instead of '-o cache=auto') [2026-01-22T14:39:20Z WARN virtiofsd::sandbox] Couldn't set the process uid as root: -1 [2026-01-22T14:39:20Z WARN virtiofsd::sandbox] Couldn't set the process gid as root: -1 [2026-01-22T14:39:20Z INFO virtiofsd] Waiting for vhost-user socket connection...
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2138902 Title: session libvirtd crashes when hot adding filesystems To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/2138902/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
