"Kirill A. Shutemov" <kirill.shute...@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 ?


>       info.align_mask = 0;
>       info.align_offset = pgoff << PAGE_SHIFT;
>       if (filp) {


-aneesh

Reply via email to