]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
apparmor: Allow lxc processes to receive signals from libvirt
authorJim Fehlig <jfehlig@suse.com>
Wed, 2 Dec 2020 23:24:21 +0000 (16:24 -0700)
committerJim Fehlig <jfehlig@suse.com>
Thu, 3 Dec 2020 23:38:33 +0000 (16:38 -0700)
LXC processes confined by apparmor are not permitted to receive signals
from libvirtd. Attempting to destroy such a process fails

virsh --connect lxc:/// destroy distro_apparmor
 error: Failed to destroy domain distro_apparmor
 error: Failed to kill process 29491: Permission denied

And from /var/log/audit/audit.log

type=AVC msg=audit(1606949706.142:6345): apparmor="DENIED"
operation="signal" profile="libvirt-314b7109-fdce-48dc-ad28-7c47958a27c1"
pid=29390 comm="libvirtd" requested_mask="receive" denied_mask="receive"
signal=term peer="libvirtd"

Similar to the libvirt-qemu abstraction, add a rule to the libvirt-lxc
abstraction allowing reception of signals from libvirtd.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
src/security/apparmor/libvirt-lxc

index e556f2a7bdbe4f82e87ec6390b298aa13080c139..0c8b8127438182b5a5e95811122e740b63495840 100644 (file)
@@ -1,5 +1,9 @@
   #include <abstractions/base>
 
+ # Allow receiving signals from libvirtd
+  signal (receive) peer=libvirtd,
+  signal (receive) peer=/usr/sbin/libvirtd,
+
   umount,
 
   # ignore DENIED message on / remount