On Tue, Feb 21, 2017 at 12:46:55PM -0800, Dave Hansen wrote: > 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? Right. > > + if (flags & MAP_FIXED) > > + return -ENOMEM; > > ... and if it's a MAP_FIXED request, fail it. Yep. > > + if (len > DEFAULT_MAP_WINDOW) > > + return -ENOMEM; > > What is this case for? If addr+len wraps? If len is too big to fit into DEFAULT_MAP_WINDOW there's no point in resetting hint address as we know we can't satisfy it -- fail early. > > > + /* 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? Right. -- Kirill A. Shutemov -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>