aboutsummaryrefslogtreecommitdiffstats
path: root/mm/kmemleak.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/kmemleak.c')
-rw-r--r--mm/kmemleak.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/mm/kmemleak.c b/mm/kmemleak.c
index 15c50302ff9..c833addd94d 100644
--- a/mm/kmemleak.c
+++ b/mm/kmemleak.c
@@ -100,6 +100,7 @@
100 100
101#include <linux/kmemcheck.h> 101#include <linux/kmemcheck.h>
102#include <linux/kmemleak.h> 102#include <linux/kmemleak.h>
103#include <linux/memory_hotplug.h>
103 104
104/* 105/*
105 * Kmemleak configuration and common defines. 106 * Kmemleak configuration and common defines.
@@ -1292,9 +1293,9 @@ static void kmemleak_scan(void)
1292#endif 1293#endif
1293 1294
1294 /* 1295 /*
1295 * Struct page scanning for each node. The code below is not yet safe 1296 * Struct page scanning for each node.
1296 * with MEMORY_HOTPLUG.
1297 */ 1297 */
1298 lock_memory_hotplug();
1298 for_each_online_node(i) { 1299 for_each_online_node(i) {
1299 pg_data_t *pgdat = NODE_DATA(i); 1300 pg_data_t *pgdat = NODE_DATA(i);
1300 unsigned long start_pfn = pgdat->node_start_pfn; 1301 unsigned long start_pfn = pgdat->node_start_pfn;
@@ -1313,6 +1314,7 @@ static void kmemleak_scan(void)
1313 scan_block(page, page + 1, NULL, 1); 1314 scan_block(page, page + 1, NULL, 1);
1314 } 1315 }
1315 } 1316 }
1317 unlock_memory_hotplug();
1316 1318
1317 /* 1319 /*
1318 * Scanning the task stacks (may introduce false negatives). 1320 * Scanning the task stacks (may introduce false negatives).