On Wed, 17 Oct 2007 11:10:23 +0200 (CEST) Jiri Kosina <[EMAIL PROTECTED]> wrote: > Hi, > > hm, I guess this is probably due to pie-randomization patch, right? (could > you please try reverting it, to see whether things get back to normal). > > Oh well, this causes more trouble that I have ever imagined ... I will > look into it, thanks a lot for the report. Andrew, please drop this one > again, I will fix it up. > Maybe this can be fix.
Thanks, -Kame == ia32 on x86_64 seems to be handled as it is. arch/x86_64/mm/mmap.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) Index: devel-2.6.23-mm1/arch/x86_64/mm/mmap.c =================================================================== --- devel-2.6.23-mm1.orig/arch/x86_64/mm/mmap.c +++ devel-2.6.23-mm1/arch/x86_64/mm/mmap.c @@ -54,13 +54,17 @@ static inline unsigned long mmap_base(vo return TASK_SIZE - (gap & PAGE_MASK); } -static inline int mmap_is_legacy(void) +static inline int mmap_is_32(void) { #ifdef CONFIG_IA32_EMULATION if (test_thread_flag(TIF_IA32)) return 1; #endif + return 0; +} +static inline int mmap_is_legacy(void) +{ if (current->personality & ADDR_COMPAT_LAYOUT) return 1; @@ -89,7 +93,12 @@ void arch_pick_mmap_layout(struct mm_str * Fall back to the standard layout if the personality * bit is set, or if the expected stack growth is unlimited: */ - if (mmap_is_legacy()) { + if (mmap_is_32()) { +#ifdef CONFIG_IA32_EMULATION + /* ia32_pick_mmap_layout has its own. */ + return ia32_pick_mmap_layout(mm); +#endif + } else if(mmap_is_legacy()) { mm->mmap_base = TASK_UNMAPPED_BASE; mm->get_unmapped_area = arch_get_unmapped_area; mm->unmap_area = arch_unmap_area; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/