loader: Mark the stack as executable if possible.

Marcus Meissner marcus at jet.franken.de
Wed Nov 15 13:25:00 CST 2006


On Wed, Nov 15, 2006 at 06:09:40PM +0000, L. Rahyen wrote:
> > So for fixing some _broken_ applications this patch unconditionally
> > disables nx protection for every application running under wine. Seems like
> > a bad tradeoff imo. (Though I don't know how widespread these kind of
> > broken applications are. But there are definitly applications out there
> > which don't need this.)
> 
> 	Most of Windows applications will not work. Especialy games. Yes there some 
> applications that work but this is mostly small applications without complex 
> GUI. Some example are Proxomitron (this is a proxy) and mdict (simple 9KB 
> program with graphical interface). But most users use Wine for Games and for 
> applications with complex GUI (complex GUI = complex application in most 
> cases). Just try 10-20 popular games and 10-20 popular applications - most of 
> them will crash without McCormack's patch or with noexec=on. Even if real 
> problem is because of broken PE header this doesn't matter - we must emulate 
> typical Windows behavior in such case (at least by default).

This is incorrect, even with NX most applications will work. Only those with
broken PE headers like above will not.

> > This way would have the advantage that the behaviour is tunable either
> > globally or on a per-app basis.
> 
> 	That's great but what is the default behavior? By default Wine must work in 
> compatibility mode with not-noexec-aware programs. And only if advanced user 
> (simple user just want to run his apps and nothing more) want to try noexec 
> protection with his Windows application it should be activated via registy 
> (globally or for specific app). Otherwise it will be really major regression 
> (most application will crash).
> 
> 	What I want to say that Wine must work out-of-the-box in all cases where this 
> is possible - this is what most users expect.

In this case we should perhaps try to detect such applications and mark them executable
accordingly.

(Like... "does any section has exec flag? if not ... make all of them exec")

Ciao, Marcus



More information about the wine-devel mailing list