On Wed, Nov 22, 2017 at 10:52:14AM -0800, Mike Kravetz wrote: > If the call __alloc_contig_migrate_range() in alloc_contig_range > returns -EBUSY, processing continues so that test_pages_isolated() > is called where there is a tracepoint to identify the busy pages. > However, it is possible for busy pages to become available between > the calls to these two routines. In this case, the range of pages > may be allocated. Unfortunately, the original return code (ret > == -EBUSY) is still set and returned to the caller. Therefore, > the caller believes the pages were not allocated and they are leaked. > > Update comment to indicate that allocation is still possible even if > __alloc_contig_migrate_range returns -EBUSY. Also, clear return code > in this case so that it is not accidentally used or returned to caller. > > Fixes: 8ef5849fa8a2 ("mm/cma: always check which page caused allocation failure") > Cc: <stable@xxxxxxxxxxxxxxx> > Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Good catch!! Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Thanks. -- 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>