From: Isaac J. Manjarres Date: Tue, 24 Jan 2023 23:02:54 +0000 (-0800) Subject: Revert "mm: kmemleak: alloc gray object for reserved region with direct map" X-Git-Tag: baikal/aarch64/sdk6.1~55 X-Git-Url: https://git.baikalelectronics.ru/sdk/?a=commitdiff_plain;h=00e248fd44bfa1fe6aed2dcd7491cf23cce23bae;p=kernel.git Revert "mm: kmemleak: alloc gray object for reserved region with direct map" commit 8ef852f1cb426a5812aee700d3b4297aaa426acc upstream. This reverts commit f6e19b6ddfee479c1a2f3db86832946924190800. Kmemleak operates by periodically scanning memory regions for pointers to allocated memory blocks to determine if they are leaked or not. However, reserved memory regions can be used for DMA transactions between a device and a CPU, and thus, wouldn't contain pointers to allocated memory blocks, making them inappropriate for kmemleak to scan. Thus, revert this commit. Link: https://lkml.kernel.org/r/20230124230254.295589-1-isaacmanjarres@google.com Fixes: f6e19b6ddfee4 ("mm: kmemleak: alloc gray object for reserved region with direct map") Signed-off-by: Isaac J. Manjarres Acked-by: Catalin Marinas Cc: Calvin Zhang Cc: Frank Rowand Cc: Rob Herring Cc: Saravana Kannan Cc: [5.17+] Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index f08b25195ae79..d1a68b6d03b3f 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -26,7 +26,6 @@ #include #include #include -#include #include /* for COMMAND_LINE_SIZE */ #include @@ -525,12 +524,9 @@ static int __init __reserved_mem_reserve_reg(unsigned long node, size = dt_mem_next_cell(dt_root_size_cells, &prop); if (size && - early_init_dt_reserve_memory(base, size, nomap) == 0) { + early_init_dt_reserve_memory(base, size, nomap) == 0) pr_debug("Reserved memory: reserved region for node '%s': base %pa, size %lu MiB\n", uname, &base, (unsigned long)(size / SZ_1M)); - if (!nomap) - kmemleak_alloc_phys(base, size, 0); - } else pr_err("Reserved memory: failed to reserve memory for node '%s': base %pa, size %lu MiB\n", uname, &base, (unsigned long)(size / SZ_1M));