]> xenbits.xensource.com Git - libvirt.git/commitdiff
apparmor: avoid denials on libpmem initialization
authorChristian Ehrhardt <christian.ehrhardt@canonical.com>
Wed, 8 Apr 2020 14:47:58 +0000 (16:47 +0200)
committerChristian Ehrhardt <christian.ehrhardt@canonical.com>
Wed, 15 Apr 2020 08:33:23 +0000 (10:33 +0200)
With libpmem support compiled into qemu it will trigger the following
denials on every startup.
  apparmor="DENIED" operation="open" name="/"
  apparmor="DENIED" operation="open" name="/sys/bus/nd/devices/"

This is due to [1] that tries to auto-detect if the platform supports
auto flush for all region.

Once we know all the paths that are potentially needed if this feature
is really used we can add them conditionally in virt-aa-helper and labelling
calls in case </pmem> is enabled.

But until then the change here silences the denial warnings seen above.

[1]: https://github.com/pmem/pmdk/blob/master/src/libpmem2/auto_flush_linux.c#L131

Bug: https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1871354

Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Acked-by: Jamie Strandboge <jamie@canonical.com>
src/security/apparmor/libvirt-qemu

index 80986aec6135dd089f5eb263f5859af7704167b2..1a4b226612b5020ff7fa92f3448c85f602d2d9df 100644 (file)
   # required for sasl GSSAPI plugin
   /etc/gss/mech.d/ r,
   /etc/gss/mech.d/* r,
+
+  # required by libpmem init to fts_open()/fts_read() the symlinks in
+  # /sys/bus/nd/devices
+  / r, # harmless on any lsb compliant system
+  /sys/bus/nd/devices/{,**/} r,