X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fx86_64%2Fmm%2Fmmap.c;h=432d2aa8d9ab7ed6ece828c65a085b593ab80ae5;hb=43bc926fffd92024b46cafaf7350d669ba9ca884;hp=011bb4cbbdeca4384e57da4b11bd78f4ac1a49eb;hpb=cee37fe97739d85991964371c1f3a745c00dd236;p=linux-2.6.git diff --git a/arch/x86_64/mm/mmap.c b/arch/x86_64/mm/mmap.c index 011bb4cbb..432d2aa8d 100644 --- a/arch/x86_64/mm/mmap.c +++ b/arch/x86_64/mm/mmap.c @@ -26,6 +26,7 @@ #include #include +#include /* * Top of mmap area (just below the process stack). @@ -37,7 +38,7 @@ static inline unsigned long mmap_base(void) { - unsigned long gap = current->rlim[RLIMIT_STACK].rlim_cur; + unsigned long gap = current->signal->rlim[RLIMIT_STACK].rlim_cur; if (gap < MIN_GAP) gap = MIN_GAP; @@ -54,13 +55,13 @@ static inline int mmap_is_legacy(void) */ if (!test_thread_flag(TIF_IA32)) return 1; - - if (current->personality & ADDR_COMPAT_LAYOUT) + + if (current->personality & ADDR_COMPAT_LAYOUT) return 1; - - if (current->rlim[RLIMIT_STACK].rlim_cur == RLIM_INFINITY) + + if (current->signal->rlim[RLIMIT_STACK].rlim_cur == RLIM_INFINITY) return 1; - + return sysctl_legacy_va_layout; } @@ -81,7 +82,6 @@ void arch_pick_mmap_layout(struct mm_struct *mm) } else { mm->mmap_base = mmap_base(); mm->get_unmapped_area = arch_get_unmapped_area_topdown; - mm->get_unmapped_exec_area = arch_get_unmapped_exec_area; mm->unmap_area = arch_unmap_area_topdown; } }