[Bug 12783] Allocation of PEB and TEB can overlap dll mappings

wine-bugs at winehq.org wine-bugs at winehq.org
Fri May 23 13:44:12 CDT 2008


http://bugs.winehq.org/show_bug.cgi?id=12783





--- Comment #8 from Vitaliy Margolen <vitaliy at kievinfo.com>  2008-05-23 13:44:11 ---
(In reply to comment #7)
> The particular case
>     addr = (void *)0x7ffe0000;
>     size = 0x10000;
>     NtAllocateVirtualMemory( NtCurrentProcess(), &addr, 0, &size,
> MEM_RESERVE|MEM_COMMIT, PAGE_READWRITE );
>     user_shared_data = addr;
> probably should have some way to say MAP_FIXED, but I cannot find such a way. 
> [Hint: valgrind presents such a kernel that ignores the first argument to
> mmap() unless MAP_FIXED.]
> 


There is no reason to check for this particular allocation unless to die
immediately if it fails. It's the special data structure [Shared User Data]
present on all NT+ windows at the constant address. If your kernel can not
honor this, then it's broken and have to be fixed. Or listed as incompatible
with Wine. This area is critical to most copy-protection systems. Also lots of
programs make a use of this data structure.


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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