Hi
Thanks a ton for looking into this. Oh sorry. I thought the bug
reporting tool was release specific. I see that is not the case. OK so
here is some responses to your requests for information:
1. Bionic Beaver
sbates@yoda:~$ uname -aLinux yoda 4.15.0-20-generic #21-Ubuntu SMP Tue
Apr 24 06:16:15 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
2. Package information:
sbates@yoda:~$ dpkg -l | grep libvirt*
ii gir1.2-libvirt-glib-1.0:amd64 1.0.0-1
amd64 GObject introspection files for
the libvirt-glib library
ii libvirt-bin 4.0.0-1ubuntu8.1
amd64 programs for the libvirt library
ii libvirt-clients 4.0.0-1ubuntu8.1
amd64 Programs for the libvirt library
ii libvirt-daemon 4.0.0-1ubuntu8.1
amd64 Virtualization daemon
ii libvirt-daemon-driver-storage-rbd 4.0.0-1ubuntu8.1
amd64 Virtualization daemon RBD storage
driver
ii libvirt-daemon-system 4.0.0-1ubuntu8.1
amd64 Libvirt daemon configuration files
ii libvirt-glib-1.0-0:amd64 1.0.0-1
amd64 libvirt GLib and GObject mapping
library
ii libvirt0:amd64 4.0.0-1ubuntu8.1
amd64 library for interfacing with
different virtualization systems
ii python-libvirt 4.0.0-1
amd64 libvirt Python bindings
sbates@yoda:~$ dpkg -l | grep qemu*
ii ipxe-qemu
1.0.0+git-20180124.fbe8c52d-0ubuntu2 all PXE boot
firmware - ROM images for qemu
ii ipxe-qemu-256k-compat-efi-roms
1.0.0+git-20150424.a25a16d-0ubuntu2 all PXE boot
firmware - Compat EFI ROM images for qemu
ii qemu-block-extra:amd64
1:2.11+dfsg-1ubuntu7.2 amd64 extra block
backend modules for qemu-system and qemu-utils
ii qemu-kvm
1:2.11+dfsg-1ubuntu7.2 amd64 QEMU Full
virtualization on x86 hardware
ii qemu-system-common
1:2.11+dfsg-1ubuntu7.2 amd64 QEMU full
system emulation binaries (common files)
ii qemu-system-x86
1:2.11+dfsg-1ubuntu7.2 amd64 QEMU full
system emulation binaries (x86)
ii qemu-utils
1:2.11+dfsg-1ubuntu7.2 amd64 QEMU
utilities
3. Guest XML.
<domain type='kvm' id='1'
xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
<name>athens</name>
<uuid>e61ed540-1288-4920-97b1-2bdce72ab394</uuid>
<memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>1048576</currentMemory>
<vcpu placement='static'>1</vcpu>
<resource>
<partition>/machine</partition>
</resource>
<os>
<type arch='x86_64' machine='pc-i440fx-bionic'>hvm</type>
<boot dev='hd'/>
<bootmenu enable='yes'/>
</os>
<features>
<acpi/>
<apic/>
</features>
<cpu mode='custom' match='exact' check='full'>
<model fallback='forbid'>Skylake-Client</model>
<feature policy='require' name='hypervisor'/>
</cpu>
<clock offset='utc'>
<timer name='rtc' tickpolicy='catchup'/>
<timer name='pit' tickpolicy='delay'/>
<timer name='hpet' present='no'/>
</clock>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<pm>
<suspend-to-mem enabled='no'/>
<suspend-to-disk enabled='no'/>
</pm>
<devices>
<emulator>/usr/bin/kvm-spice</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/athens-1.qcow2'/>
<backingStore/>
<target dev='hda' bus='ide'/>
<alias name='ide0-0-0'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<controller type='usb' index='0' model='ich9-ehci1'>
<alias name='usb'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03'
function='0x7'/>
</controller>
<controller type='usb' index='0' model='ich9-uhci1'>
<alias name='usb'/>
<master startport='0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'
multifunction='on'/>
</controller>
<controller type='usb' index='0' model='ich9-uhci2'>
<alias name='usb'/>
<master startport='2'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03'
function='0x1'/>
</controller>
<controller type='usb' index='0' model='ich9-uhci3'>
<alias name='usb'/>
<master startport='4'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03'
function='0x2'/>
</controller>
<controller type='pci' index='0' model='pci-root'>
<alias name='pci.0'/>
</controller>
<controller type='ide' index='0'>
<alias name='ide'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01'
function='0x1'/>
</controller>
<interface type='bridge'>
<mac address='52:54:00:a3:f6:49'/>
<source bridge='virbr0'/>
<target dev='vnet0'/>
<model type='rtl8139'/>
<alias name='net0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02'
function='0x0'/>
</interface>
<serial type='pty'>
<source path='/dev/pts/1'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
<alias name='serial0'/>
</serial>
<console type='pty' tty='/dev/pts/1'>
<source path='/dev/pts/1'/>
<target type='serial' port='0'/>
<alias name='serial0'/>
</console>
<input type='mouse' bus='ps2'>
<alias name='input0'/>
</input>
<input type='keyboard' bus='ps2'>
<alias name='input1'/>
</input>
<hostdev mode='subsystem' type='pci' managed='yes'>
<driver name='vfio'/>
<source>
<address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</source>
<alias name='hostdev0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05'
function='0x0'/>
</hostdev>
<memballoon model='virtio'>
<alias name='balloon0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04'
function='0x0'/>
</memballoon>
</devices>
<seclabel type='dynamic' model='dac' relabel='yes'>
<label>+64055:+128</label>
<imagelabel>+64055:+128</imagelabel>
</seclabel>
<qemu:commandline>
<qemu:arg value='-drive'/>
<qemu:arg
value='file=/var/lib/libvirt/images/nvme0.qcow2,if=none,id=nvme0,format=qcow2'/>
<qemu:arg value='-device'/>
<qemu:arg value='nvme,drive=nvme0,serial=nvme0,cmb_size_mb=0'/>
</qemu:commandline>
</domain>
4. Apparmor Profile - So this is where it gets odd. Even though dmesg
tells me the offending prodile is "libvirt-
e61ed540-1288-4920-97b1-2bdce72ab394" I don't seem to find a matching
file for that in /etc/apparmor.d/libvirt/.
[ 180.443069] audit: type=1400 audit(1527166238.184:62):
apparmor="DENIED" operation="open" profile="libvirt-
e61ed540-1288-4920-97b1-2bdce72ab394"
name="/var/lib/libvirt/images/nvme0.qcow2" pid=2826 comm="qemu-
system-x86" requested_mask="wr" denied_mask="wr" fsuid=64055 ouid=64055
sbates@yoda:~$ virsh dominfo athens
Id: -
Name: athens
UUID: e61ed540-1288-4920-97b1-2bdce72ab394
OS Type: hvm
State: shut off
CPU(s): 1
Max memory: 1048576 KiB
Used memory: 1048576 KiB
Persistent: yes
Autostart: disable
Managed save: no
Security model: apparmor
Security DOI: 0
sbates@yoda:~$ ls -l /etc/apparmor.d/libvirt/
total 8
-rw-r--r-- 1 root root 342 Apr 24 03:09 TEMPLATE.lxc
-rw-r--r-- 1 root root 192 Apr 24 03:09 TEMPLATE.qemu
Note that this bug did not first occur when I installed Bionic Beaver so
it must be related to some package upgrade done in the last 2-3 weeks...
Thanks
Stephen
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1772936
Title:
Apparmor enforcment blocks image permissions in libvirtd
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1772936/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs