From: Qian Cai cai@lca.pw Subject: mm/page_isolation.c: fix a wrong flag in set_migratetype_isolate()
Due to has_unmovable_pages() taking an incorrect irqsave flag instead of the isolation flag in set_migratetype_isolate(), there are issues with HWPOSION and error reporting where dump_page() is not called when there is an unmovable page.
Link: http://lkml.kernel.org/r/20190320204941.53731-1-cai@lca.pw Fixes: d381c54760dc ("mm: only report isolation failures when offlining memory") Acked-by: Michal Hocko mhocko@suse.com Reviewed-by: Oscar Salvador osalvador@suse.de Signed-off-by: Qian Cai cai@lca.pw Cc: stable@vger.kernel.org [5.0.x] Signed-off-by: Andrew Morton akpm@linux-foundation.org ---
mm/page_isolation.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
--- a/mm/page_isolation.c~mm-fix-a-wrong-flag-in-set_migratetype_isolate +++ a/mm/page_isolation.c @@ -59,7 +59,8 @@ static int set_migratetype_isolate(struc * FIXME: Now, memory hotplug doesn't call shrink_slab() by itself. * We just check MOVABLE pages. */ - if (!has_unmovable_pages(zone, page, arg.pages_found, migratetype, flags)) + if (!has_unmovable_pages(zone, page, arg.pages_found, migratetype, + isol_flags)) ret = 0;
/* _