bug 14360: dosmem forgot MAP_FIXED

John Reiser jreiser at BitWagon.com
Tue Jul 8 13:45:45 CDT 2008

Alexandre Julliard wrote:
> John Reiser <jreiser at BitWagon.com> writes:
>>Attached is the patch for http://bugs.winehq.org/show_bug.cgi?id=14360
>>dosmem forgot MAP_FIXED
> No, it's not forgotten, that's the way it's supposed to work. What are
> you trying to fix?

Some environments strictly enforce the semantics of mmap(), namely a successful
return value need not equal the requested address unless MAP_FIXED,
even if the requested address is unmapped and otherwise available.
Unless MAP_FIXED, then it is legal to return any page range that is large enough.
Callers of the patched code were relying on getting actual fixed addresses
in the interval [0, 0x110000).  In particular, this did not work under valgrind.

See also the similar bug http://bugs.winehq.org/show_bug.cgi?id=12783
Allocation of PEB and TEB can overlap dll mappings

John Reiser, jreiser at BitWagon.com

More information about the wine-devel mailing list