On Tue, Nov 14, 2017 at 05:01:50PM +0100, Thomas Gleixner wrote: > @@ -198,11 +199,14 @@ arch_get_unmapped_area_topdown(struct fi > /* requesting a specific address */ > if (addr) { > addr = PAGE_ALIGN(addr); > + if (!mmap_address_hint_valid(addr, len)) > + goto get_unmapped_area; > +
Here and in hugetlb_get_unmapped_area(), we should align the addr after the check, not before. Otherwise the alignment itself can bring us over the borderline as we align up. -- Kirill A. Shutemov