Let me make sure I'm grokking what you're trying to do here. On 02/20/2017 05:15 AM, Kirill A. Shutemov wrote: > +/* MPX cannot handle addresses above 47-bits yet. */ > +unsigned long mpx_unmapped_area_check(unsigned long addr, unsigned long len, > + unsigned long flags) > +{ > + if (!kernel_managing_mpx_tables(current->mm)) > + return addr; > + if (addr + len <= DEFAULT_MAP_WINDOW) > + return addr; At this point, we know MPX management is on and the hint is for memory above DEFAULT_MAP_WINDOW? > + if (flags & MAP_FIXED) > + return -ENOMEM; ... and if it's a MAP_FIXED request, fail it. > + if (len > DEFAULT_MAP_WINDOW) > + return -ENOMEM; What is this case for? If addr+len wraps? > + /* Look for unmap area within DEFAULT_MAP_WINDOW */ > + return 0; > +} Otherwise, blow away the hint, which we know is high and needs to be discarded? -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html