Commit 8ef852f1 authored by Isaac J. Manjarres's avatar Isaac J. Manjarres Committed by Andrew Morton

Revert "mm: kmemleak: alloc gray object for reserved region with direct map"

This reverts commit 972fa3a7.

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: 972fa3a7 ("mm: kmemleak: alloc gray object for reserved region with direct map")
Signed-off-by: default avatarIsaac J. Manjarres <isaacmanjarres@google.com>
Acked-by: default avatarCatalin 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: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 0d7866ea
...@@ -26,7 +26,6 @@ ...@@ -26,7 +26,6 @@
#include <linux/serial_core.h> #include <linux/serial_core.h>
#include <linux/sysfs.h> #include <linux/sysfs.h>
#include <linux/random.h> #include <linux/random.h>
#include <linux/kmemleak.h>
#include <asm/setup.h> /* for COMMAND_LINE_SIZE */ #include <asm/setup.h> /* for COMMAND_LINE_SIZE */
#include <asm/page.h> #include <asm/page.h>
...@@ -525,12 +524,9 @@ static int __init __reserved_mem_reserve_reg(unsigned long node, ...@@ -525,12 +524,9 @@ static int __init __reserved_mem_reserve_reg(unsigned long node,
size = dt_mem_next_cell(dt_root_size_cells, &prop); size = dt_mem_next_cell(dt_root_size_cells, &prop);
if (size && 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", pr_debug("Reserved memory: reserved region for node '%s': base %pa, size %lu MiB\n",
uname, &base, (unsigned long)(size / SZ_1M)); uname, &base, (unsigned long)(size / SZ_1M));
if (!nomap)
kmemleak_alloc_phys(base, size, 0);
}
else else
pr_err("Reserved memory: failed to reserve memory for node '%s': base %pa, size %lu MiB\n", pr_err("Reserved memory: failed to reserve memory for node '%s': base %pa, size %lu MiB\n",
uname, &base, (unsigned long)(size / SZ_1M)); uname, &base, (unsigned long)(size / SZ_1M));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment