linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mm: fix invalid node in alloc_migrate_target()
@ 2016-03-25  6:56 Xishi Qiu
  2016-03-25 19:22 ` Andrew Morton
  2016-03-29 12:25 ` Vlastimil Babka
  0 siblings, 2 replies; 14+ messages in thread
From: Xishi Qiu @ 2016-03-25  6:56 UTC (permalink / raw)
  To: Andrew Morton, Vlastimil Babka, Joonsoo Kim, David Rientjes,
	Naoya Horiguchi, Laura Abbott, zhuhui, wangxq10
  Cc: Xishi Qiu, Linux MM, LKML

It is incorrect to use next_node to find a target node, it will
return MAX_NUMNODES or invalid node. This will lead to crash in
buddy system allocation.

Signed-off-by: Xishi Qiu <qiuxishi@huawei.com>
---
 mm/page_isolation.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/mm/page_isolation.c b/mm/page_isolation.c
index 92c4c36..31555b6 100644
--- a/mm/page_isolation.c
+++ b/mm/page_isolation.c
@@ -289,11 +289,11 @@ struct page *alloc_migrate_target(struct page *page, unsigned long private,
 	 * now as a simple work-around, we use the next node for destination.
 	 */
 	if (PageHuge(page)) {
-		nodemask_t src = nodemask_of_node(page_to_nid(page));
-		nodemask_t dst;
-		nodes_complement(dst, src);
+		int node = next_online_node(page_to_nid(page));
+		if (node == MAX_NUMNODES)
+			node = first_online_node;
 		return alloc_huge_page_node(page_hstate(compound_head(page)),
-					    next_node(page_to_nid(page), dst));
+					    node);
 	}
 
 	if (PageHighMem(page))
-- 
1.8.3.1


--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply related	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2016-04-01  8:42 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-25  6:56 [PATCH] mm: fix invalid node in alloc_migrate_target() Xishi Qiu
2016-03-25 19:22 ` Andrew Morton
2016-03-26  5:31   ` Xishi Qiu
2016-03-29  9:52     ` Vlastimil Babka
2016-03-29 10:06       ` Vlastimil Babka
2016-03-29 10:37       ` Xishi Qiu
2016-03-29 12:21         ` Vlastimil Babka
2016-03-29 13:06   ` Vlastimil Babka
2016-03-31 13:13     ` Vlastimil Babka
2016-03-31 21:01       ` Andrew Morton
2016-04-01  8:42         ` Vlastimil Babka
2016-03-29 15:52   ` Michal Hocko
2016-03-29 12:25 ` Vlastimil Babka
2016-03-30  1:13   ` Naoya Horiguchi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).