]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
apparmor: Add user session path for PID and socket files used by passt
authorStefano Brivio <sbrivio@redhat.com>
Tue, 30 Jan 2024 18:15:51 +0000 (19:15 +0100)
committerAndrea Bolognani <abologna@redhat.com>
Wed, 31 Jan 2024 10:25:32 +0000 (11:25 +0100)
Commit 7a39b04d683f ("apparmor: Enable passt support") grants
passt(1) read-write access to /{,var/}run/libvirt/qemu/passt/* if
started by the libvirt daemon. That's the path where passt creates
PID and socket files only if the guest is started by the root user.

If the guest is started by another user, though, the path is more
commonly /var/run/user/$UID/libvirt/qemu/run/passt: add it as
read-write location. Otherwise, passt won't be able to start, as
reported by Andreas.

While at it, replace /{,var/}run/ in the existing rule by its
corresponding tunable variable, @{run}.

Fixes: 7a39b04d683f ("apparmor: Enable passt support")
Link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1061678
Reported-by: Andreas B. Mundt <andi@debian.org>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
src/security/apparmor/libvirt-qemu.in

index f40f47189163f96f8617fefd58c9534b028b157c..8b92915281fae3f7904795abbe018a923b3f748c 100644 (file)
     signal (receive) set=("term") peer=libvirtd,
     signal (receive) set=("term") peer=virtqemud,
 
-    owner /{,var/}run/libvirt/qemu/passt/* rw,
+    owner @{run}/user/[0-9]*/libvirt/qemu/run/passt/* rw,
+    owner @{run}/libvirt/qemu/passt/* rw,
 
     include if exists <abstractions/passt>
   }