[Bug 19296] Multiple apps wrapped with Shrinker 3.5 fail with unexpected guard page fault caused by Wine's ATL thunk check (Uru: Ages beyond Myst, Football Manager 2010 Demo)

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Oct 13 15:28:47 CDT 2014


https://bugs.winehq.org/show_bug.cgi?id=19296

--- Comment #20 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

the recent ATL thunk patch series made the thing more compliant :)
There is still a missing piece though, that is not executing ATL thunk check on
a guard page.

Another thing I noticed...

Wine's process execution flags are reversed for 'enabled' and 'disabled'
options.

>From my comment here: https://bugs.winehq.org/show_bug.cgi?id=24125#c7

https://src.chromium.org/svn/trunk/src/sandbox/win/src/process_mitigations_test.cc

Chromium source snippet, part of test suite:

--- snip ---
    const int MEM_EXECUTE_OPTION_ENABLE = 1;
    const int MEM_EXECUTE_OPTION_DISABLE = 2;
    const int MEM_EXECUTE_OPTION_ATL7_THUNK_EMULATION = 4;
    const int MEM_EXECUTE_OPTION_PERMANENT = 8;
    dep_flags &= 0xff;
--- snip ---

vs.

Source:
http://source.winehq.org/git/wine.git/blob/9a806d0f1c10289241500519beda73f1ac556586:/include/winternl.h#l729

--- snip ---
729 #define MEM_EXECUTE_OPTION_DISABLE 0x01
730 #define MEM_EXECUTE_OPTION_ENABLE 0x02
731 #define MEM_EXECUTE_OPTION_DISABLE_THUNK_EMULATION 0x04
732 #define MEM_EXECUTE_OPTION_PERMANENT 0x08
--- snip ---

Applications that use the native API way to achieve '[Get|Set]ProcessDEPPolicy'
on pre-Vista Windows OS where this entry point is not available will have the
reverse effect.

Thanks for the work so far, Sebastian.

Regards

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list