Skip to content

Commit 6e06426

Browse files
committed
Revert "mm: kmemleak: alloc gray object for reserved region with direct map"
JIRA: https://issues.redhat.com/browse/RHEL-75156 Conflicts: RHEL-9 has early_init_dt_reserve_memory_arch() while upstream was refactored to early_init_dt_reserve_memory() in commit f8a855e (of/fdt: Clean up early_init_dt_reserve_memory_arch()) commit 8ef852f Author: "Isaac J. Manjarres" <isaacmanjarres@google.com> Date: Tue, 24 Jan 2023 15:02:54 -0800 This reverts commit 972fa3a. 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: 972fa3a ("mm: kmemleak: alloc gray object for reserved region with direct map") Signed-off-by: Isaac J. Manjarres <isaacmanjarres@google.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Cc: Calvin Zhang <calvinzhang.cool@gmail.com> Cc: Frank Rowand <frowand.list@gmail.com> Cc: Rob Herring <robh+dt@kernel.org> Cc: Saravana Kannan <saravanak@google.com> Cc: <stable@vger.kernel.org> [5.17+] Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Luiz Capitulino <luizcap@redhat.com>
1 parent 153ef7c commit 6e06426

File tree

1 file changed

+1
-5
lines changed

1 file changed

+1
-5
lines changed

drivers/of/fdt.c

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
#include <linux/serial_core.h>
2727
#include <linux/sysfs.h>
2828
#include <linux/random.h>
29-
#include <linux/kmemleak.h>
3029

3130
#include <asm/setup.h> /* for COMMAND_LINE_SIZE */
3231
#include <asm/page.h>
@@ -525,12 +524,9 @@ static int __init __reserved_mem_reserve_reg(unsigned long node,
525524
size = dt_mem_next_cell(dt_root_size_cells, &prop);
526525

527526
if (size &&
528-
early_init_dt_reserve_memory_arch(base, size, nomap) == 0) {
527+
early_init_dt_reserve_memory_arch(base, size, nomap) == 0)
529528
pr_debug("Reserved memory: reserved region for node '%s': base %pa, size %lu MiB\n",
530529
uname, &base, (unsigned long)(size / SZ_1M));
531-
if (!nomap)
532-
kmemleak_alloc_phys(base, size, 0);
533-
}
534530
else
535531
pr_info("Reserved memory: failed to reserve memory for node '%s': base %pa, size %lu MiB\n",
536532
uname, &base, (unsigned long)(size / SZ_1M));

0 commit comments

Comments
 (0)