[PATCH 5.0 131/146] mm/page_isolation.c: fix a wrong flag in set_migratetype_isolate()

From: Greg Kroah-Hartman
Date: Mon Apr 01 2019 - 13:12:16 EST


5.0-stable review patch. If anyone has any objections, please let me know.

------------------

From: Qian Cai <cai@xxxxxx>

commit f5777bc2d9cf0712554228b1a7927b6f13f5c1f0 upstream.

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@xxxxxx
Fixes: d381c54760dc ("mm: only report isolation failures when offlining memory")
Acked-by: Michal Hocko <mhocko@xxxxxxxx>
Reviewed-by: Oscar Salvador <osalvador@xxxxxxx>
Signed-off-by: Qian Cai <cai@xxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> [5.0.x]
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
mm/page_isolation.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

--- a/mm/page_isolation.c
+++ b/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;

/*