I'm using qemu-bridge-helper already for a while. Since updating to 19.10 libvirtd suddenly refused to start my VMs. Turned out to be caused by apparmor, I found these log messages:
For me the following change below the issue. I've barely any idea what I'm doing, never wrote apparmor profiles before. So probably this patch needs a bit of fine-tuning.
I'm using qemu-bridge-helper already for a while. Since updating to 19.10 libvirtd suddenly refused to start my VMs. Turned out to be caused by apparmor, I found these log messages:
audit: type=1400 audit(158025366 9.262:100) : apparmor="DENIED" operation= "file_inherit" profile= "libvirtd/ /qemu_bridge_ helper" pid=5629 comm="qemu- bridge- hel" family="unix" sock_type="stream" protocol=0 requested_ mask="send receive" denied_mask="send receive" addr=none peer_addr=none peer="libvirtd" 9.262:101) : apparmor="DENIED" operation= "file_inherit" profile="libvirtd" pid=5629 comm="qemu- bridge- hel" family="unix" sock_type="stream" protocol=0 requested_ mask="send receive" denied_mask="send receive" addr=none peer_addr=none peer="libvirtd/ /qemu_bridge_ helper" 9.262:102) : apparmor="DENIED" operation="signal" profile="libvirtd" pid=3118 comm="libvirtd" requested_ mask="send" denied_mask="send" signal=term peer="libvirtd/ /qemu_bridge_ helper"
audit: type=1400 audit(158025366
audit: type=1400 audit(158025366
For me the following change below the issue. I've barely any idea what I'm doing, never wrote apparmor profiles before. So probably this patch needs a bit of fine-tuning.
--- usr.sbin. libvirtd- orig 2020-01-29 22:52:27.257908332 +0100
+++ usr.sbin.libvirtd 2020-01-29 22:45:42.358642382 +0100
@@ -62,8 +62,10 @@
signal (send) set=("kill", "term") peer=unconfined,
# For communication/ control to qemu-bridge-helper /usr/sbin/ libvirtd/ /qemu_bridge_ helper) , sbin/libvirtd/ /qemu_bridge_ helper, libvirtd/ /qemu_bridge_ helper) , /qemu_bridge_ helper,
- unix (send, receive) type=stream addr=none peer=(label=
- signal (send) set=("term") peer=/usr/
+ unix (send, receive) type=stream addr=none peer=(label=
+ signal (send) set=("term") peer=libvirtd/
# allow connect with openGraphicsFD, direction reversed in newer versions libvirt- [0-9a-f] *-[0-9a- f]*-[0- 9a-f]*- [0-9a-f] *-[0-9a- f]*),
unix (send, receive) type=stream addr=none peer=(label=
@@ -122,7 +124,8 @@
network inet stream,
# For communication/ control from libvirtd /usr/sbin/ libvirtd) , libvirtd) , sbin/libvirtd,
- unix (send, receive) type=stream addr=none peer=(label=
+ unix (send, receive) type=stream addr=none peer=(label=
signal (receive) set=("term") peer=/usr/
signal (receive) set=("term") peer=libvirtd,