Not logged in
Log in now
Create an account
Subscribe to LWN
An unexpected perf feature
LWN.net Weekly Edition for May 16, 2013
A look at the PyPy 2.0 release
PostgreSQL 9.3 beta: Federated databases and more
LWN.net Weekly Edition for May 9, 2013
Doesn't run-time linking use the same in-memory copy of libc for every executable anyway?
Prelink and address space randomization
Posted Jul 7, 2006 4:10 UTC (Fri) by jamesh (guest, #1159)
As the article explained, the prelink process tries to do this relocation ahead of time so different apps can use the same library text unmodified (and hence share it completely), but this means that the load addresses of libraries are not randomised between different processes.
Posted Jul 7, 2006 9:39 UTC (Fri) by nix (subscriber, #2304)
(prelink has sped up a lot recently, did you notice? You no longer have to wait eight thousand years for C++ stuff with lots of symbols to be prelinked...)
Posted Jul 7, 2006 16:19 UTC (Fri) by jzbiciak (✭ supporter ✭, #5246)
Now, what might be interesting is a selectively applied address randomization. For instance, tell the kernel that for some list of UIDs, apply address randomization, and for the rest, use a default address map.
So, for instace, an average desktop with eleventy billion programs running the desktop environment, etc., all running as a non-privileged user--those can all benefit from prelink. Any system services running in the background with elevated privileges or a network-facing component, such as sshd, CUPS, a webserver, whatever... those should all run with address randomization.
And, if some program seems to be problematic wrt. to buffer overflows? Perhaps allow marking it to be randomized as well regardless of UID. (Perhaps extended fs attributes are a good way to denote this?)
Posted Aug 20, 2006 7:52 UTC (Sun) by bluefoxicy (guest, #25366)
Good try, but read up on how PIC works.
Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds