aboutsummaryrefslogtreecommitdiffstats
path: root/lib/debugobjects.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-11-30 21:45:49 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2018-11-30 21:45:49 -0500
commitd8f190ee836a4581ba906731835d735cb97948f5 (patch)
tree26b5d022c928bd445dfcf4ed6e309f1f25681ec6 /lib/debugobjects.c
parent6c7954b7eb76578866eba179709c5883f29f747f (diff)
parent164f7e586739d07eb56af6f6d66acebb11f315c8 (diff)
Merge branch 'akpm' (patches from Andrew)
Merge misc fixes from Andrew Morton: "31 fixes" * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (31 commits) ocfs2: fix potential use after free mm/khugepaged: fix the xas_create_range() error path mm/khugepaged: collapse_shmem() do not crash on Compound mm/khugepaged: collapse_shmem() without freezing new_page mm/khugepaged: minor reorderings in collapse_shmem() mm/khugepaged: collapse_shmem() remember to clear holes mm/khugepaged: fix crashes due to misaccounted holes mm/khugepaged: collapse_shmem() stop if punched or truncated mm/huge_memory: fix lockdep complaint on 32-bit i_size_read() mm/huge_memory: splitting set mapping+index before unfreeze mm/huge_memory: rename freeze_page() to unmap_page() initramfs: clean old path before creating a hardlink kernel/kcov.c: mark funcs in __sanitizer_cov_trace_pc() as notrace psi: make disabling/enabling easier for vendor kernels proc: fixup map_files test on arm debugobjects: avoid recursive calls with kmemleak userfaultfd: shmem: UFFDIO_COPY: set the page dirty if VM_WRITE is not set userfaultfd: shmem: add i_size checks userfaultfd: shmem/hugetlbfs: only allow to register VM_MAYWRITE vmas userfaultfd: shmem: allocate anonymous memory for MAP_PRIVATE shmem ...
Diffstat (limited to 'lib/debugobjects.c')
-rw-r--r--lib/debugobjects.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/debugobjects.c b/lib/debugobjects.c
index 70935ed91125..14afeeb7d6ef 100644
--- a/lib/debugobjects.c
+++ b/lib/debugobjects.c
@@ -135,7 +135,6 @@ static void fill_pool(void)
135 if (!new) 135 if (!new)
136 return; 136 return;
137 137
138 kmemleak_ignore(new);
139 raw_spin_lock_irqsave(&pool_lock, flags); 138 raw_spin_lock_irqsave(&pool_lock, flags);
140 hlist_add_head(&new->node, &obj_pool); 139 hlist_add_head(&new->node, &obj_pool);
141 debug_objects_allocated++; 140 debug_objects_allocated++;
@@ -1128,7 +1127,6 @@ static int __init debug_objects_replace_static_objects(void)
1128 obj = kmem_cache_zalloc(obj_cache, GFP_KERNEL); 1127 obj = kmem_cache_zalloc(obj_cache, GFP_KERNEL);
1129 if (!obj) 1128 if (!obj)
1130 goto free; 1129 goto free;
1131 kmemleak_ignore(obj);
1132 hlist_add_head(&obj->node, &objects); 1130 hlist_add_head(&obj->node, &objects);
1133 } 1131 }
1134 1132
@@ -1184,7 +1182,8 @@ void __init debug_objects_mem_init(void)
1184 1182
1185 obj_cache = kmem_cache_create("debug_objects_cache", 1183 obj_cache = kmem_cache_create("debug_objects_cache",
1186 sizeof (struct debug_obj), 0, 1184 sizeof (struct debug_obj), 0,
1187 SLAB_DEBUG_OBJECTS, NULL); 1185 SLAB_DEBUG_OBJECTS | SLAB_NOLEAKTRACE,
1186 NULL);
1188 1187
1189 if (!obj_cache || debug_objects_replace_static_objects()) { 1188 if (!obj_cache || debug_objects_replace_static_objects()) {
1190 debug_objects_enabled = 0; 1189 debug_objects_enabled = 0;