[CentOS] Information about ASLR (Address Space Layout Randomization) in CentOS 5

Fri Dec 12 16:10:17 UTC 2008
Tony Mountifield <tony at softins.clara.co.uk>

In article <e814db780812120659qd384182y8f8c1a69d39c2e2e at mail.gmail.com>,
Filipe Brandenburger <filbranden at gmail.com> wrote:
> Hi,
> 
> We are porting some applications from CentOS 4 to CentOS 5, the
> applications use mmap, and we found out that they sometimes crash in
> CentOS 5. We found out that this is due to the fact that CentOS 5 does
> randomization of the address space when loading binaries, libraries,
> and when using mmap, so that is what's causing our problem.
> 
> The thing is, I'm trying to google for it, but I did not find any
> useful information on ASLR present in CentOS 5/RHEL 5/Linux 2.6.18. If
> anyone has any good pointers on reliable information on what does that
> code do, how to configure/tweak it, or how to use mmap properly to
> work around the issues, I would really appreciate it. In particular,
> if there is a switch/option that would allow us to disable it for some
> binaries/libraries only, it would be great, since this could allow us
> to do the upgrade sooner and try to find the proper fix for the
> problem later.

>From what I've been able to find, you can disable ASLR completely by
putting the following line in /etc/sysctl.conf:

kernel.randomize_va_space = 0

Alternatively, you can run your program with ASLR disabled by using
setarch to invoke it:

setarch `uname -m` -R yourprog <yourprogoptions>

The -R option disables randomisation.  You might want to look at
the -L option for setarch too (man setarch).

Cheers
Tony
-- 
Tony Mountifield
Work: tony at softins.co.uk - http://www.softins.co.uk
Play: tony at mountifield.org - http://tony.mountifield.org