miscemu/wine gets into the way in map_image

Ove Kaaven ovehk at ping.uio.no
Thu Oct 3 11:28:43 CDT 2002


On Thu, 3 Oct 2002, Uwe Bonnes wrote:

> Hallo,
> 
> the full installer for XILINX Webpack 5.1 is a 160 MByte executable.
> It doesn't start with wine:
> > ~/tmp/wine/compile/wine/wine WebPACK_51_fcfull_i.exe
> err:virtual:map_image Standard load address for a Win32 program (0x00400000)
> not available - security-patched kernel ?
> Clearly my kernel isn't "security-patched".
> 
> Printing out /proc/maps/self in this situation shows:
> 08048000-0805c000 r-xp 00000000 03:08 195157 /home/bon/tmp/wine/compile/wine-realclean/wine/miscemu/wine
> 0805c000-0805d000 rw-p 00013000 03:08 195157 /home/bon/tmp/wine/compile/wine-realclean/wine/miscemu/wine
> 
> An strace on wine shows the mmap call in map_image:
> 23236 mmap2(0x400000, 161087488, PROT_READ|PROT_WRITE|PROT_EXEC,
> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x404c2000
> 
> Adding 0x400000 and 161087488 gives someting in the 0x09d0000 range. This
> overlaps with the wine executable itself and mmap2 can't satisfiy the request
> in place.

Looks like the same issue that Dungeon Siege's installer has. My idea so
far has been to move all of the important stuff in the main wine loader
into libwine (so that the wine loader is just a call into libwine), then
libwine's main routine could somehow munmap the loader. Haven't got around
to doing this yet though.




More information about the wine-devel mailing list