Loading kernel/early_res.c +6 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,8 @@ #include <linux/bootmem.h> #include <linux/mm.h> #include <linux/early_res.h> #include <linux/slab.h> #include <linux/kmemleak.h> /* * Early reserved memory areas. Loading Loading @@ -319,6 +321,8 @@ void __init free_early(u64 start, u64 end) struct early_res *r; int i; kmemleak_free_part(__va(start), end - start); i = find_overlapped_early(start, end); r = &early_res[i]; if (i >= max_early_res || r->end != end || r->start != start) Loading @@ -333,6 +337,8 @@ void __init free_early_partial(u64 start, u64 end) struct early_res *r; int i; kmemleak_free_part(__va(start), end - start); if (start == end) return; Loading mm/page_alloc.c +5 −0 Original line number Diff line number Diff line Loading @@ -3659,6 +3659,11 @@ void * __init __alloc_memory_core_early(int nid, u64 size, u64 align, ptr = phys_to_virt(addr); memset(ptr, 0, size); reserve_early_without_check(addr, addr + size, "BOOTMEM"); /* * The min_count is set to 0 so that bootmem allocated blocks * are never reported as leaks. */ kmemleak_alloc(ptr, size, 0, 0); return ptr; } Loading mm/page_cgroup.c +7 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ #include <linux/vmalloc.h> #include <linux/cgroup.h> #include <linux/swapops.h> #include <linux/kmemleak.h> static void __meminit __init_page_cgroup(struct page_cgroup *pc, unsigned long pfn) Loading Loading @@ -126,6 +127,12 @@ static int __init_refok init_section_page_cgroup(unsigned long pfn) if (!base) base = vmalloc(table_size); } /* * The value stored in section->page_cgroup is (base - pfn) * and it does not point to the memory block allocated above, * causing kmemleak false positives. */ kmemleak_not_leak(base); } else { /* * We don't have to allocate page_cgroup again, but Loading Loading
kernel/early_res.c +6 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,8 @@ #include <linux/bootmem.h> #include <linux/mm.h> #include <linux/early_res.h> #include <linux/slab.h> #include <linux/kmemleak.h> /* * Early reserved memory areas. Loading Loading @@ -319,6 +321,8 @@ void __init free_early(u64 start, u64 end) struct early_res *r; int i; kmemleak_free_part(__va(start), end - start); i = find_overlapped_early(start, end); r = &early_res[i]; if (i >= max_early_res || r->end != end || r->start != start) Loading @@ -333,6 +337,8 @@ void __init free_early_partial(u64 start, u64 end) struct early_res *r; int i; kmemleak_free_part(__va(start), end - start); if (start == end) return; Loading
mm/page_alloc.c +5 −0 Original line number Diff line number Diff line Loading @@ -3659,6 +3659,11 @@ void * __init __alloc_memory_core_early(int nid, u64 size, u64 align, ptr = phys_to_virt(addr); memset(ptr, 0, size); reserve_early_without_check(addr, addr + size, "BOOTMEM"); /* * The min_count is set to 0 so that bootmem allocated blocks * are never reported as leaks. */ kmemleak_alloc(ptr, size, 0, 0); return ptr; } Loading
mm/page_cgroup.c +7 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ #include <linux/vmalloc.h> #include <linux/cgroup.h> #include <linux/swapops.h> #include <linux/kmemleak.h> static void __meminit __init_page_cgroup(struct page_cgroup *pc, unsigned long pfn) Loading Loading @@ -126,6 +127,12 @@ static int __init_refok init_section_page_cgroup(unsigned long pfn) if (!base) base = vmalloc(table_size); } /* * The value stored in section->page_cgroup is (base - pfn) * and it does not point to the memory block allocated above, * causing kmemleak false positives. */ kmemleak_not_leak(base); } else { /* * We don't have to allocate page_cgroup again, but Loading