Messages in this thread | | | Subject | Re: [PATCH 26/26] x86/mm: allow to have userspace mappings above 47-bits | From | "Aneesh Kumar K.V" <> | Date | Fri, 24 Mar 2017 14:44:10 +0530 |
| |
On Friday 24 March 2017 02:34 PM, Kirill A. Shutemov wrote: > On Mon, Mar 20, 2017 at 10:40:20AM +0530, Aneesh Kumar K.V wrote: >> "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> writes: >> @@ -168,6 +182,10 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, >>> unsigned long addr = addr0; >>> struct vm_unmapped_area_info info; >>> >>> + addr = mpx_unmapped_area_check(addr, len, flags); >>> + if (IS_ERR_VALUE(addr)) >>> + return addr; >>> + >>> /* requested length too big for entire address space */ >>> if (len > TASK_SIZE) >>> return -ENOMEM; >>> @@ -192,6 +210,14 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, >>> info.length = len; >>> info.low_limit = PAGE_SIZE; >>> info.high_limit = mm->mmap_base; >>> + >>> + /* >>> + * If hint address is above DEFAULT_MAP_WINDOW, look for unmapped area >>> + * in the full address space. >>> + */ >>> + if (addr > DEFAULT_MAP_WINDOW) >>> + info.high_limit += TASK_SIZE - DEFAULT_MAP_WINDOW; >>> + >> >> Is this ok for 32 bit application ? > > DEFAULT_MAP_WINDOW is equal to TASK_SIZE on 32-bit, so it's nop and will > be compile out. >
That is not about CONFIG_X86_32 but about 32 bit application on a 64 bit kernel. I guess we will never find addr > DEFAULT_MAP_WINDOW with a 32 bit app ?
-aneesh
| |