drivers/base/node.c: fix compaction sysfs file leak
authorMiaohe Lin <linmiaohe@huawei.com>
Fri, 1 Apr 2022 07:09:05 +0000 (15:09 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 27 Apr 2022 07:51:57 +0000 (09:51 +0200)
Compaction sysfs file is created via compaction_register_node in
register_node. But we forgot to remove it in unregister_node. Thus
compaction sysfs file is leaked. Using compaction_unregister_node
to fix this issue.

Fixes: ed4a6d7f0676 ("mm: compaction: add /sys trigger for per-node memory compaction")
Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
Link: https://lore.kernel.org/r/20220401070905.43679-1-linmiaohe@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/base/node.c

index ec8bb24a5a227a80173c58d299da925bd48010d6..0ac6376ef7a1092d55e3a9c0ad0944b2af01f1a0 100644 (file)
@@ -682,6 +682,7 @@ static int register_node(struct node *node, int num)
  */
 void unregister_node(struct node *node)
 {
+       compaction_unregister_node(node);
        hugetlb_unregister_node(node);          /* no-op, if memoryless node */
        node_remove_accesses(node);
        node_remove_caches(node);