Bug 177097 - Wine fails to execute any windows programs
Wine fails to execute any windows programs
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: selinux-policy-targeted (Show other bugs)
rawhide
x86_64 Linux
medium Severity medium
: ---
: ---
Assigned To: Daniel Walsh
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2006-01-06 05:34 EST by Hans de Goede
Modified: 2007-11-30 17:11 EST (History)
1 user (show)

See Also:
Fixed In Version: 2.1.13-1
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-03-20 20:43:48 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Hans de Goede 2006-01-06 05:34:43 EST
This is on x86_64 but using the i386 version of wine!

To reproduce download the latest wine rpms for FC4 from www.wineHQ.com (0.9.2),
and install.

Download DCOM98.EXE (this legally requires a windows license to run!) :
wget
http://download.microsoft.com/download/d/1/3/d13cd456-f0cf-4fb2-a17f-20afc79f8a51/DCOM98.EXE

Now try to install it:
WINEDLLOVERRIDES="ole32=n" wine DCOM98.EXE

It fails with a debug trace, interesting stuff is realy in /var/log/audit:

4041): avc:  denied  { execmod } for  pid=8547 comm="wine-preloader"
name="DCOM98.EXE" dev=dm-1 ino=3113147 scontext=user_u:system_r:unconfined_t:s0
tcontext=user_u:object_r:user_home_t:s0 tclass=file
4041): arch=40000003 syscall=125 success=no exit=-13 a0=1001000 a1=9000 a2=5
a3=1001000 items=0 pid=8547 auid=4294967295 uid=500 gid=500 euid=500 egid=500
sgid=500 fsgid=500 comm="wine-preloader" exe="/usr/bin/wine-preloader"

Doing:

chcon -t textrel_shlib_t ~hans/DCOM98.EXE

causes it to get a bit further, DCOM98.EXE is a self extracting and running
setup executable, the extracted executables from the archive however ofcourse
don't have the textrel_shlib_t type and thus it fails a bit further when trying
to execute install.exe:

4863): avc:  denied  { execmod } for  pid=9144 comm="wine-preloader"
name="install.exe" dev=dm-1 ino=3276919 scontext=user_u:system_r:unconfined_t:s0
tcontext=user_u:object_r:user_home_t:s0 tclass=file
4863): arch=40000003 syscall=125 success=no exit=-13 a0=1001000 a1=b000 a2=5
a3=1001000 items=0 pid=9144 auid=4294967295 uid=500 gid=500 euid=500 suid=500
fsuid=500 egid=500 sgid=500 fsgid=500 comm="wine-preloader"
exe="/usr/bin/wine-preloader"


Hope this is enough info for you to fix it.
Comment 1 Daniel Walsh 2006-01-06 08:28:11 EST
Try turning on allow_execmod boolean

setsebool -P allow_execmod=1
Comment 2 Hans de Goede 2006-01-06 08:49:29 EST
That works, which is strange because inspired by a bugzilla query I did:

for i in `rpm -ql wine|grep /bin`; do chcon -t java_exec_t $i;  done

And java needs allow_execmod too right?

Anyways yes that works.
Comment 3 Daniel Walsh 2006-01-06 09:32:33 EST
No it allows execmem.  We need a better solution for wine, but this works for now.
Comment 4 Hans de Goede 2006-01-06 09:54:38 EST
Erm, if we need a better solution then how is this not a bug?

Also since wine is in extras now (see bug 171526), this is a real problem since
the targeted policy is enabled by default now a days and one would expect wine
from FE to work out of the box.

Reopening.
Comment 5 Daniel Walsh 2006-01-06 10:10:03 EST
Actually if you want to run execmod applications in your homedir you need to set
allow_execmod.

If you want the exe labeled correctly they should be installed in /usr/lib/wine
directory as a .s0 file.  They you could restorecon -R /usr/lib/wine 

To set them up correctly.  

If they do not work labeled as .so I could add a file_context match on \*.exe

Comment 6 Hans de Goede 2006-01-06 10:16:38 EST
Daniel Walsh wrote:
> Actually if you want to run execmod applications in your homedir you need to
set allow_execmod.

What I want is a wine which works out of the box with the targeted policy. Isn't
it possible to create a type for the wine binaries so that they are allowed todo
execmod on any file? Just like java is given a type which allows it to always do
execmem.
Comment 7 Daniel Walsh 2006-01-06 10:26:46 EST
Yes.  Do you know if wine needs execmem?

Comment 8 Hans de Goede 2006-01-06 15:17:05 EST
Well it works with the default targeted policy after doing the "setsebool -P
allow_execmod=1" so I guess it doesn't need execmem.
Comment 9 Andreas Bierfert 2006-01-18 05:05:22 EST
Where are we on this one? Anything new or anything I should test/check?
Comment 10 Daniel Walsh 2006-01-18 11:43:53 EST
Latest policy should be working.

selinux-policy-targeted-2.1.13-1

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