Bug 951715

Summary: AVC denials from ovs-vsctl
Product: [Fedora] Fedora Reporter: Ryan O'Hara <rohara>
Component: selinux-policyAssignee: Miroslav Grepl <mgrepl>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 18CC: dominick.grift, dwalsh, lhh, mgrepl
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-04-18 02:52:42 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Partial audit.log containing relevant AVCs. none

Description Ryan O'Hara 2013-04-12 20:54:39 UTC
Created attachment 734977 [details]
Partial audit.log containing relevant AVCs.

On Fedora 18 with selinux set to enforcing, ovs-vsctl is getting AVC denials:

$ rpm -q selinux-policy
selinux-policy-3.11.1-86.fc18.noarch

$ getenforce 
Enforcing

With the quantum-openvswitch-agent enable, ovs-vsctl is being called repeatedly, each time generating the following AVC:

type=AVC msg=audit(1365797926.454:102983): avc:  denied  { execute } for  pid=22881 comm="python" name="ovs-vsctl" dev="vda3" ino=163045 scontext=system_u:system_r:quantum_t:s0 tcontext=system_u:object_r:openvswitch_exec_t:s0 tclass=file

If I set selinux to permissive, I get a few other AVCs:

$ setenforce 0
$ getenforce 
Permissive

type=AVC msg=audit(1365797928.458:102996): avc:  denied  { execute } for  pid=22908 comm="python" name="ovs-vsctl" dev="vda3" ino=163045 scontext=system_u:system_r:quantum_t:s0 tcontext=system_u:object_r:openvswitch_exec_t:s0 tclass=file
type=AVC msg=audit(1365797928.476:102997): avc:  denied  { read open } for  pid=22910 comm="python" path="/usr/bin/ovs-vsctl" dev="vda3" ino=163045 scontext=system_u:system_r:quantum_t:s0 tcontext=system_u:object_r:openvswitch_exec_t:s0 tclass=file
type=AVC msg=audit(1365797928.476:102997): avc:  denied  { execute_no_trans } for  pid=22910 comm="python" path="/usr/bin/ovs-vsctl" dev="vda3" ino=163045 scontext=system_u:system_r:quantum_t:s0 tcontext=system_u:object_r:openvswitch_exec_t:s0 tclass=file
type=AVC msg=audit(1365797928.486:102998): avc:  denied  { search } for  pid=22910 comm="ovs-vsctl" name="openvswitch" dev="tmpfs" ino=109622 scontext=system_u:system_r:quantum_t:s0 tcontext=system_u:object_r:openvswitch_var_run_t:s0 tclass=dir
type=AVC msg=audit(1365797928.486:102998): avc:  denied  { write } for  pid=22910 comm="ovs-vsctl" name="db.sock" dev="tmpfs" ino=109630 scontext=system_u:system_r:quantum_t:s0 tcontext=system_u:object_r:openvswitch_var_run_t:s0 tclass=sock_file
type=AVC msg=audit(1365797928.486:102998): avc:  denied  { connectto } for  pid=22910 comm="ovs-vsctl" path="/run/openvswitch/db.sock" scontext=system_u:system_r:quantum_t:s0 tcontext=system_u:system_r:openvswitch_t:s0 tclass=unix_stream_socket

And the original 'execute' AVC stops.

Comment 1 Lon Hohberger 2013-04-12 21:02:41 UTC
A quick guess:

Maybe something like this in openvswitch.te:

interface(`ovsvsctl_domtrans',`
        gen_require(`
                type openvswitch_t, openvswitch_exec_t;
        ')

        corecmd_search_bin($1)
        domtrans_pattern($1, openvswitch_exec_t, openvswitch_t)
')


And in quantum.te:

optional_policy(`
  ovsvsctl_domtrans(quantum_t)
')


?

Comment 2 Lon Hohberger 2013-04-12 21:03:05 UTC
Whoops first part would be in openvswitch.if

Comment 3 Miroslav Grepl 2013-04-15 06:01:07 UTC
Added.

commit fe27028c37e0eee41db98a82977ea5c86d7687cb
Author: Miroslav Grepl <mgrepl>
Date:   Mon Apr 15 08:00:34 2013 +0200

    Allow quantum to transition to openvswitch_t

Comment 4 Fedora Update System 2013-04-15 11:12:37 UTC
selinux-policy-3.11.1-90.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/selinux-policy-3.11.1-90.fc18

Comment 5 Fedora Update System 2013-04-16 00:08:09 UTC
Package selinux-policy-3.11.1-90.fc18:
* should fix your issue,
* was pushed to the Fedora 18 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing selinux-policy-3.11.1-90.fc18'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-5742/selinux-policy-3.11.1-90.fc18
then log in and leave karma (feedback).

Comment 6 Fedora Update System 2013-04-18 02:52:44 UTC
selinux-policy-3.11.1-90.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.