On Tue, Nov 3, 2009 at 11:28 AM, Rajat Jain <Rajat.Jain@xxxxxxxxxxxx> wrote: > Hi, > >> >> Other than that, most likely for anonymous mapping, it is random. >> However, if you take a look very carefully, it would be somewhere >> between 0x08000000 and slightly below bottom of stack (0xc000000 >> minus something). > > > Just curious why are the virtual addresses below 0x08000000 left out? > Are they reserved for something? To be honest, I just answer at my best in this thread, so take it with a grain of salt (probably more) :D At those low address space, libraries are likely to be mapped. As to why, all I know it is done to enforce the protection mechanism called as "ASCII armor", Feel free to google about it, but in general, by mapping these libs into filled-with-zero address (like 0x07000000), it will make it hard for cracker to do things like jump-to-libc exploit..because such thing requires that the target address must not contain zero. So, libs stay there, heap stay in higher address.... -- regards, Mulyadi Santosa Freelance Linux trainer and consultant blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ