aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/ia32
diff options
context:
space:
mode:
authorJan Kratochvil <honza@jikos.cz>2007-07-16 02:40:06 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-16 12:05:42 -0400
commit60bfba7e85f88fe834e623ead799cf580de20971 (patch)
treed27468bc99bfbe8dcfa6fa0e8b8599d2a6e6c7de /arch/ia64/ia32
parentf057eac0d7ad967138390a9dd7fd8267e1e39d19 (diff)
PIE randomization
This patch is using mmap()'s randomization functionality in such a way that it maps the main executable of (specially compiled/linked -pie/-fpie) ET_DYN binaries onto a random address (in cases in which mmap() is allowed to perform a randomization). Origin of this patch is in exec-shield (http://people.redhat.com/mingo/exec-shield/) [jkosina@suse.cz: pie randomization: fix BAD_ADDR macro] Signed-off-by: Jan Kratochvil <honza@jikos.cz> Signed-off-by: Jiri Kosina <jkosina@suse.cz> Cc: Ingo Molnar <mingo@elte.hu> Cc: Roland McGrath <roland@redhat.com> Cc: Jakub Jelinek <jakub@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/ia64/ia32')
-rw-r--r--arch/ia64/ia32/binfmt_elf32.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/ia64/ia32/binfmt_elf32.c b/arch/ia64/ia32/binfmt_elf32.c
index c05bda662364..6f4d3d06f0ed 100644
--- a/arch/ia64/ia32/binfmt_elf32.c
+++ b/arch/ia64/ia32/binfmt_elf32.c
@@ -261,7 +261,7 @@ elf32_set_personality (void)
261} 261}
262 262
263static unsigned long 263static unsigned long
264elf32_map (struct file *filep, unsigned long addr, struct elf_phdr *eppnt, int prot, int type) 264elf32_map (struct file *filep, unsigned long addr, struct elf_phdr *eppnt, int prot, int type, unsigned long unused)
265{ 265{
266 unsigned long pgoff = (eppnt->p_vaddr) & ~IA32_PAGE_MASK; 266 unsigned long pgoff = (eppnt->p_vaddr) & ~IA32_PAGE_MASK;
267 267