On Wed, 17 Oct 2007 11:10:23 +0200 (CEST) Jiri Kosina <jikos@jikos.cz> wrote: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; -
| Andrew Morton | -mm merge plans for 2.6.23 |
| Greg Kroah-Hartman | [PATCH 006/196] Chinese: add translation of oops-tracing.txt |
| Greg KH | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Roland Dreier | Re: Integration of SCST in the mainstream Linux kernel |
git: | |
| David Miller | [GIT]: Networking |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| Linus Torvalds | Re: iptables very slow after commit 784544739a25c30637397ace5489eeb6e15d7d49 |
| Herbert Xu | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
