summaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorLiu Shixin <liushixin2@huawei.com>2023-10-18 18:29:46 +0800
committerAndrew Morton <akpm@linux-foundation.org>2023-10-25 16:47:13 -0700
commit6d4e2cda62af38f7c21052b6847ffff08ea7173f (patch)
tree90906ddcea6bef02c4b3d58f0f12d98c6810eff4 /mm
parent8f0f4788b1247c2f92ecacd8f86ce0b379b807b9 (diff)
downloadlinux-6d4e2cda62af38f7c21052b6847ffff08ea7173f.tar.gz
linux-6d4e2cda62af38f7c21052b6847ffff08ea7173f.tar.bz2
linux-6d4e2cda62af38f7c21052b6847ffff08ea7173f.zip
bootmem: use kmemleak_free_part_phys in put_page_bootmem
Patch series "Some bugfix about kmemleak", v3. Some bugfixes for kmemleak and the printed info from debug mode. This patch (of 7): Since kmemleak_alloc_phys() rather than kmemleak_alloc() was called from memblock_alloc_range_nid(), kmemleak_free_part_phys() should be used to delete kmemleak object in put_page_bootmem(). In debug mode, there are following warning: kmemleak: Partially freeing unknown object at 0xffff97345aff7000 (size 4096) Link: https://lkml.kernel.org/r/20231018102952.3339837-1-liushixin2@huawei.com Link: https://lkml.kernel.org/r/20231018102952.3339837-2-liushixin2@huawei.com Fixes: dd0ff4d12dd2 ("bootmem: remove the vmemmap pages from kmemleak in put_page_bootmem") Signed-off-by: Liu Shixin <liushixin2@huawei.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Cc: Kefeng Wang <wangkefeng.wang@huawei.com> Cc: Patrick Wang <patrick.wang.shcn@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r--mm/bootmem_info.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/bootmem_info.c b/mm/bootmem_info.c
index b1efebfcf94b..fa7cb0c87c03 100644
--- a/mm/bootmem_info.c
+++ b/mm/bootmem_info.c
@@ -34,7 +34,7 @@ void put_page_bootmem(struct page *page)
ClearPagePrivate(page);
set_page_private(page, 0);
INIT_LIST_HEAD(&page->lru);
- kmemleak_free_part(page_to_virt(page), PAGE_SIZE);
+ kmemleak_free_part_phys(PFN_PHYS(page_to_pfn(page)), PAGE_SIZE);
free_reserved_page(page);
}
}