apparmor prevents using SCSI hostdevs
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
libvirt (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
Trying to pass a SCSI device from the host to a VM with this XML definition:
<hostdev mode='subsystem' type='scsi' managed='no' sgio='filtered' rawio='no'>
<source>
<adapter name='scsi_host2'/>
<address bus='0' target='0' unit='0'/>
</source>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</hostdev>
Results in Apparmor denials like this during the VM startup:
apparmor="DENIED" operation="open" profile=
apparmor="DENIED" operation="open" profile=
Workaround:
Add "owner /dev/sg2 rw," to /etc/apparmor.
Additional information:
# lsb_release -rd
Description: Ubuntu 16.04 LTS
Release: 16.04
# apt-cache policy libvirt-bin apparmor
libvirt-bin:
Installed: 1.3.1-1ubuntu10
Candidate: 1.3.1-1ubuntu10
Version table:
*** 1.3.1-1ubuntu10 500
500 http://
100 /var/lib/
apparmor:
Installed: 2.10.95-0ubuntu2
Candidate: 2.10.95-0ubuntu2
Version table:
*** 2.10.95-0ubuntu2 500
500 http://
100 /var/lib/
ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: libvirt-bin 1.3.1-1ubuntu10
ProcVersionSign
Uname: Linux 4.4.0-21-generic x86_64
NonfreeKernelMo
ApportVersion: 2.20.1-0ubuntu2
Architecture: amd64
CurrentDesktop: Unity
Date: Thu Apr 21 14:34:10 2016
KernLog:
SourcePackage: libvirt
UpgradeStatus: No upgrade log present (probably fresh install)
modified.
modified.
description: | updated |
This is reproducible on Trusty (after removing sgio='filtered' which isn't supported). The same workaround works as well.