diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-11-30 21:45:49 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-11-30 21:45:49 -0500 |
commit | d8f190ee836a4581ba906731835d735cb97948f5 (patch) | |
tree | 26b5d022c928bd445dfcf4ed6e309f1f25681ec6 /lib/debugobjects.c | |
parent | 6c7954b7eb76578866eba179709c5883f29f747f (diff) | |
parent | 164f7e586739d07eb56af6f6d66acebb11f315c8 (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.c | 5 |
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; |