Commit 264ef8a904943ed7d0b04fa958894d7a5c2b2c61

Authored by Catalin Marinas
1 parent ec3a354bd4

kmemleak: Remove alloc_bootmem annotations introduced in the past

kmemleak_alloc() calls were added in some places where alloc_bootmem was
called. Since now kmemleak tracks bootmem allocations, these explicit
calls should be run.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Acked-by: Pekka Enberg <penberg@cs.helsinki.fi>

Showing 2 changed files with 3 additions and 18 deletions Side-by-side Diff

... ... @@ -36,7 +36,6 @@
36 36 #include <linux/pid_namespace.h>
37 37 #include <linux/init_task.h>
38 38 #include <linux/syscalls.h>
39   -#include <linux/kmemleak.h>
40 39  
41 40 #define pid_hashfn(nr, ns) \
42 41 hash_long((unsigned long)nr + (unsigned long)ns, pidhash_shift)
... ... @@ -513,12 +512,6 @@
513 512 pid_hash = alloc_bootmem(pidhash_size * sizeof(*(pid_hash)));
514 513 if (!pid_hash)
515 514 panic("Could not alloc pidhash!\n");
516   - /*
517   - * pid_hash contains references to allocated struct pid objects and it
518   - * must be scanned by kmemleak to avoid false positives.
519   - */
520   - kmemleak_alloc(pid_hash, pidhash_size * sizeof(*(pid_hash)), 0,
521   - GFP_KERNEL);
522 515 for (i = 0; i < pidhash_size; i++)
523 516 INIT_HLIST_HEAD(&pid_hash[i]);
524 517 }
... ... @@ -4745,8 +4745,10 @@
4745 4745 * some pages at the end of hash table which
4746 4746 * alloc_pages_exact() automatically does
4747 4747 */
4748   - if (get_order(size) < MAX_ORDER)
  4748 + if (get_order(size) < MAX_ORDER) {
4749 4749 table = alloc_pages_exact(size, GFP_ATOMIC);
  4750 + kmemleak_alloc(table, size, 1, GFP_ATOMIC);
  4751 + }
4750 4752 }
4751 4753 } while (!table && size > PAGE_SIZE && --log2qty);
4752 4754  
... ... @@ -4763,16 +4765,6 @@
4763 4765 *_hash_shift = log2qty;
4764 4766 if (_hash_mask)
4765 4767 *_hash_mask = (1 << log2qty) - 1;
4766   -
4767   - /*
4768   - * If hashdist is set, the table allocation is done with __vmalloc()
4769   - * which invokes the kmemleak_alloc() callback. This function may also
4770   - * be called before the slab and kmemleak are initialised when
4771   - * kmemleak simply buffers the request to be executed later
4772   - * (GFP_ATOMIC flag ignored in this case).
4773   - */
4774   - if (!hashdist)
4775   - kmemleak_alloc(table, size, 1, GFP_ATOMIC);
4776 4768  
4777 4769 return table;
4778 4770 }