Bug 445877 - Add /var/lib/libvirt/boot dir to policy for kernel+initrd images for booting KVM
Add /var/lib/libvirt/boot dir to policy for kernel+initrd images for booting...
Product: Fedora
Classification: Fedora
Component: selinux-policy (Show other bugs)
All Linux
low Severity low
: ---
: ---
Assigned To: Daniel Walsh
Fedora Extras Quality Assurance
Depends On: 445854
  Show dependency treegraph
Reported: 2008-05-09 11:38 EDT by Daniel Berrange
Modified: 2008-11-17 17:03 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2008-11-17 17:03:45 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Daniel Berrange 2008-05-09 11:38:40 EDT
We need to have a 


directory added to the SELinux Policy for KVM/QEMU for storing kernel+initrd
files for purposes of booting the installer. KVM/QEMU should have ability to
read files in that directory, but not write to them.

+++ This bug was initially created as a clone of Bug #445854 +++

Description of problem:
virt-install --location produces avc: denied { read } for pid=5220
comm="qemu-kvm" name="virtinst-vmlinuz.dOPar5" dev=sda1 ino=196841
tcontext=unconfined_u:object_r:user_tmp_t:s0 tclass=file 

kernel and initrd are downloaded to /var/tmp/ and get wrong SElinux context
user_tmp_t instead of expected 

Version-Release number of selected component (if applicable):

How reproducible:
install KVM guest using --location option

Steps to Reproduce:
1. virt-install -n testVM -r 768 -f /var/lib/libvirt/images/testVM.img -s 6
--vnc  --accelerate -v --os-type=linux --arch=i686 -w network:default -l
Actual results:

Expected results:

Additional info:
quickfix, might be wrong:

diff -r 309cf2ed646a virtinst/Guest.py
--- a/virtinst/Guest.py Thu May 08 14:18:30 2008 -0400
+++ b/virtinst/Guest.py Fri May 09 15:37:50 2008 +0200
@@ -508,7 +508,7 @@ class Installer(object):
     def get_scratchdir(self):
         if self.type == "xen":
             return "/var/lib/xen"
-        return "/var/tmp"
+        return "/var/lib/libvirt/images"
     scratchdir = property(get_scratchdir)
     def get_cdrom(self):

-- Additional comment from berrange@redhat.com on 2008-05-09 11:36 EST --
This shouldn't really use /var/lib/libvirt/images since that's for disk images.
THe kernel & initrd should really be in their own directory. I'll get Dan to add
a new directory to the SELinux policy for this
Comment 1 Daniel Walsh 2008-05-09 11:50:38 EDT
If it is read/only access the default virt_var_lib_t would be fine.  So just add
the dir/files and I will allow qemu_t read access to these files.
Comment 2 Daniel Berrange 2008-05-09 13:57:27 EDT
I've added /var/lib/libvirt/boot  to libvirt-0.4.2-3.fc9 and -4.fc10, so it'll
pickup the context set in the policy on next upgrade.
Comment 3 Daniel Walsh 2008-05-13 10:30:43 EDT
Fixed in selinux-policy-3.3.1-50.fc9.noarch
Comment 4 Bug Zapper 2008-05-14 06:55:13 EDT
Changing version to '9' as part of upcoming Fedora 9 GA.
More information and reason for this action is here:
Comment 5 Daniel Walsh 2008-11-17 17:03:45 EST
Closing all bugs that have been in modified for over a month.  Please reopen if the bug is not actually fixed.

Note You need to log in before you can comment on or make changes to this bug.