Bug 540586 - SELinux is preventing /usr/lib/jvm/java-1.6.0-openjdk- from loading /home/art/.jagex_cache_32/runescape/libjaggl_dri.so which requires text relocation.
Summary: SELinux is preventing /usr/lib/jvm/java-1.6.0-openjdk- fr...
Alias: None
Product: Fedora
Classification: Fedora
Component: selinux-policy
Version: 12
Hardware: i386
OS: Linux
Target Milestone: ---
Assignee: Daniel Walsh
QA Contact: Fedora Extras Quality Assurance
Whiteboard: setroubleshoot_trace_hash:02e4c1afa75...
Depends On:
TreeView+ depends on / blocked
Reported: 2009-11-23 18:18 UTC by Aubrey Thomas
Modified: 2009-12-02 04:42 UTC (History)
3 users (show)

Fixed In Version: 3.6.32-49.fc12
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2009-12-01 16:41:14 UTC

Attachments (Terms of Use)

Description Aubrey Thomas 2009-11-23 18:18:56 UTC

SELinux is preventing /usr/lib/jvm/java-1.6.0-openjdk- from
loading /home/art/.jagex_cache_32/runescape/libjaggl_dri.so which requires text

Detailed Description:

[SELinux is in permissive mode. This access was not denied.]

The java application attempted to load
/home/art/.jagex_cache_32/runescape/libjaggl_dri.so which requires text
relocation. This is a potential security problem. Most libraries do not need
this permission. Libraries are sometimes coded incorrectly and request this
permission. The SELinux Memory Protection Tests
(http://people.redhat.com/drepper/selinux-mem.html) web page explains how to
remove this requirement. You can configure SELinux temporarily to allow
/home/art/.jagex_cache_32/runescape/libjaggl_dri.so to use relocation as a
workaround, until the library is fixed. Please file a bug report.

Allowing Access:

If you trust /home/art/.jagex_cache_32/runescape/libjaggl_dri.so to run
correctly, you can change the file context to textrel_shlib_t. "chcon -t
textrel_shlib_t '/home/art/.jagex_cache_32/runescape/libjaggl_dri.so'" You must
also change the default file context files on the system in order to preserve
them even on a full relabel. "semanage fcontext -a -t textrel_shlib_t

Fix Command:

chcon -t textrel_shlib_t '/home/art/.jagex_cache_32/runescape/libjaggl_dri.so'

Additional Information:

Source Context                unconfined_u:unconfined_r:unconfined_execmem_t:s0-
Target Context                unconfined_u:object_r:user_home_t:s0
Target Objects                /home/art/.jagex_cache_32/runescape/libjaggl_dri.s
                              o [ file ]
Source                        java
Source Path                   /usr/lib/jvm/java-1.6.0-openjdk-
Port                          <Unknown>
Host                          (removed)
Source RPM Packages           java-1.6.0-openjdk-
Target RPM Packages           
Policy RPM                    selinux-policy-3.6.32-46.fc12
Selinux Enabled               True
Policy Type                   targeted
Enforcing Mode                Permissive
Plugin Name                   allow_execmod
Host Name                     (removed)
Platform                      Linux (removed)
                              #1 SMP Mon Nov 16 21:09:17 EST 2009 i686 i686
Alert Count                   1
First Seen                    Sun 22 Nov 2009 10:58:07 GMT
Last Seen                     Sun 22 Nov 2009 10:58:07 GMT
Local ID                      a4c7ad34-bf25-4e85-9085-9800650a1ffa
Line Numbers                  

Raw Audit Messages            

node=(removed) type=AVC msg=audit(1258887487.121:28733): avc:  denied  { execmod } for  pid=9022 comm="java" path="/home/art/.jagex_cache_32/runescape/libjaggl_dri.so" dev=dm-0 ino=269100 scontext=unconfined_u:unconfined_r:unconfined_execmem_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:user_home_t:s0 tclass=file

node=(removed) type=SYSCALL msg=audit(1258887487.121:28733): arch=40000003 syscall=125 success=yes exit=0 a0=454000 a1=1000 a2=5 a3=57f4980 items=0 ppid=2135 pid=9022 auid=500 uid=500 gid=500 euid=500 suid=500 fsuid=500 egid=500 sgid=500 fsgid=500 tty=(none) ses=3 comm="java" exe="/usr/lib/jvm/java-1.6.0-openjdk-" subj=unconfined_u:unconfined_r:unconfined_execmem_t:s0-s0:c0.c1023 key=(null)

Hash String generated from  selinux-policy-3.6.32-46.fc12,allow_execmod,java,unconfined_execmem_t,user_home_t,file,execmod
audit2allow suggests:

#============= unconfined_execmem_t ==============
allow unconfined_execmem_t user_home_t:file execmod;

Comment 1 Daniel Walsh 2009-11-23 18:59:27 UTC
You can add these rules for now using

# grep avc /var/log/audit/audit.log | audit2allow -M mypol
# semodule -i mypol.pp

Fixed in selinux-policy-3.6.32-48.fc12.noarch

Comment 2 Fedora Update System 2009-11-23 23:40:57 UTC
selinux-policy-3.6.32-49.fc12 has been submitted as an update for Fedora 12.

Comment 3 Fedora Update System 2009-11-25 15:24:16 UTC
selinux-policy-3.6.32-49.fc12 has been pushed to the Fedora 12 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update selinux-policy'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F12/FEDORA-2009-12131

Comment 4 Fedora Update System 2009-12-02 04:35:22 UTC
selinux-policy-3.6.32-49.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.

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