From: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> If the node is onlined after it is offlined, we will clear the memory to store the node's information. This structure contains struct work, so we should flush work before the work's information is cleared. CC: David Rientjes <rientjes@xxxxxxxxxx> CC: Jiang Liu <liuj97@xxxxxxxxx> Cc: Minchan Kim <minchan.kim@xxxxxxxxx> CC: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> CC: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Signed-off-by: Wen Congyang <wency@xxxxxxxxxxxxxx> --- drivers/base/node.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/drivers/base/node.c b/drivers/base/node.c index 2baa73a..13c0ddf 100644 --- a/drivers/base/node.c +++ b/drivers/base/node.c @@ -254,6 +254,11 @@ static inline void hugetlb_unregister_node(struct node *node) {} static void node_device_release(struct device *dev) { +#if defined(CONFIG_MEMORY_HOTPLUG_SPARSE) && defined(CONFIG_HUGETLBFS) + struct node *node_dev = to_node(dev); + + flush_work(&node_dev->node_work); +#endif } /* -- 1.7.1 -- 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>