On Fri, Mar 24, 2006 at 03:34:01PM +0100, Blaisorblade wrote: > The EIP is inside the stub code page, and the two pages are one near the > other.
I think you're going to have to talk more slowly and use shorter words. The problem is that we need to figure out at runtime where to put the stub pages, correct? And we can't use the code stub page to figure out where it is, because we haven't mapped it yet, because we don't know where to put it, correct? > However, currently, the rounding can't be 0.5G, it must be 0.25G with the > current code, and it's still fragile if the host code is changed. > > (arch/i386/Kconfig) > config PAGE_OFFSET > hex > default 0xB0000000 if VMSPLIT_3G_OPT > default 0x78000000 if VMSPLIT_2G > default 0x40000000 if VMSPLIT_1G > default 0xC0000000 How much can stack randomization vary? If it can vary more than the split varies, which I would expect, then rounding the stack pointer isn't going to work. Another approach is to start with the current top of stack and try mapping pages at increments equal to the smallest split granularity that we think we are going to see, until one fails. Jeff ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ User-mode-linux-user mailing list User-mode-linux-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user