On Tue, Nov 3, 2009 at 11:28 AM, Rajat Jain <rajat.j...@infogain.com> 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 ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ

Reply via email to