[Pkg-libvirt-maintainers] Bug#1082530: libvirt-daemon: libvirtd does not look up qemu-bridge-helper below /usr/libexec/qemu
Farblos
farblos at vodafonemail.de
Sat Sep 21 16:41:01 BST 2024
Package: libvirt-daemon
Version: 10.7.0-3
Severity: normal
X-Debbugs-Cc: farblos at vodafonemail.de
Dear Maintainer,
* What led up to the situation?
Recent upgrade of packages libvirt-daemon (10.7.0-3) and/or qemu-system-common
(1:9.0.2+ds-2+b1).
* What exactly did you do (or not do) that was effective (or
ineffective)?
Tried to start a ***user-level*** QEMU VM through libvirt/virsh.
* What was the outcome of this action?
The VM failed to start with error message:
[~]$ virsh start ol
error: Failed to start domain 'ol'
error: /usr/lib/qemu/qemu-bridge-helper --use-vnet --br=virbr0 --fd=32: failed to communicate with bridge helper: : Transport endpoint is not connected
The journal contains the following log entries:
Sep 21 17:33:08 host01 libvirtd[5562]: /usr/lib/qemu/qemu-bridge-helper --use-vnet --br=virbr0 --fd=32: failed to communicate with bridge helper: : Transport endpoint is not connected
Sep 21 17:33:08 host01 kernel: audit: type=1400 audit(1726932788.816:33): apparmor="DENIED" operation="file_mmap" class="file" profile="libvirtd//qemu_bridge_helper" name="/usr/bin/dash" pid=5614 comm="qemu-bridge-hel" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
* What outcome did you expect instead?
The VM starting as usual.
* Educated Guess
- Package qemu-system-common has moved the QEMU bridge helper to
directory /usr/libexec/qemu/qemu-bridge-helper, replacing the
original /usr/lib/qemu/qemu-bridge-helper with a Bourne shell
wrapper script that passes control to the real executable.
- However, function virDomainCreateInBridgePortWithHelper in file
src/hypervisor/domain_interface.c of libvirt still looks for
the bridge helper only in the previous locations, which is
$PATH plus the entries in local variable bridgeHelperDirs.
Directory /usr/libexec/qemu is not among these.
- As a result, libvirtd tries to start the bridge helper through
the Bourne shell wrapper script, which conflicts with the
AppArmor rules for libvirtd.
* Workaround
As a work-around, one can configure variable bridge_helper to the
absolute path "/usr/libexec/qemu/qemu-bridge-helper" in file
~/.config/libvirt/qemu.conf.
-- System Information:
Debian Release: trixie/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 6.10.9-amd64 (SMP w/16 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages libvirt-daemon depends on:
ii libc6 2.40-2
ii libgcc-s1 14.2.0-3
ii libglib2.0-0t64 2.82.0-1
ii libtirpc3t64 1.3.4+ds-1.3
ii libvirt-common 10.7.0-3
ii libvirt-daemon-common 10.7.0-3
ii libvirt0 10.7.0-3
ii libxml2 2.9.14+dfsg-1.3+b3
ii logrotate 3.22.0-1
Versions of packages libvirt-daemon recommends:
pn libvirt-daemon-driver-interface <none>
pn libvirt-daemon-driver-lxc <none>
ii libvirt-daemon-driver-network 10.7.0-3
ii libvirt-daemon-driver-nodedev 10.7.0-3
ii libvirt-daemon-driver-nwfilter 10.7.0-3
ii libvirt-daemon-driver-qemu 10.7.0-3
ii libvirt-daemon-driver-secret 10.7.0-3
ii libvirt-daemon-driver-storage 10.7.0-3
pn libvirt-daemon-driver-storage-disk <none>
pn libvirt-daemon-driver-storage-iscsi <none>
pn libvirt-daemon-driver-storage-logical <none>
pn libvirt-daemon-driver-storage-mpath <none>
pn libvirt-daemon-driver-storage-scsi <none>
pn libvirt-daemon-driver-vbox <none>
pn libvirt-daemon-driver-xen <none>
pn libvirt-daemon-lock <none>
ii libvirt-daemon-log 10.7.0-3
pn libvirt-daemon-plugin-lockd <none>
pn libvirt-daemon-plugin-sanlock <none>
Versions of packages libvirt-daemon suggests:
pn libvirt-daemon-driver-storage-gluster <none>
pn libvirt-daemon-driver-storage-iscsi-direct <none>
pn libvirt-daemon-driver-storage-rbd <none>
pn libvirt-daemon-driver-storage-zfs <none>
ii libvirt-daemon-system 10.7.0-3
-- no debconf information
More information about the Pkg-libvirt-maintainers
mailing list