mmap randomization for executable mappings on 32-bit
[linux-flexiantxendom0-natty.git] / arch / x86 / mm / mmap.c
index 1dab519..619fff6 100644 (file)
@@ -131,6 +131,9 @@ void arch_pick_mmap_layout(struct mm_struct *mm)
        } else {
                mm->mmap_base = mmap_base();
                mm->get_unmapped_area = arch_get_unmapped_area_topdown;
+               if (!(current->personality & READ_IMPLIES_EXEC)
+                   && mmap_is_ia32())
+                       mm->get_unmapped_exec_area = arch_get_unmapped_exec_area;
                mm->unmap_area = arch_unmap_area_topdown;
        }
 }