Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

powerpc/dart: Drop unnecessary call to kmemleak_no_scan()

Erhard reported that kmemleak was showing a warning at boot:

kmemleak: Not scanning unknown object at 0xc00000007f000000
CPU: 0 PID: 0 Comm: swapper Not tainted 5.19.0-rc3-PMacG5+ #2
Call Trace:
.dump_stack_lvl+0x7c/0xc4 (unreliable)
.kmemleak_no_scan+0xe0/0x100
.iommu_init_early_dart+0x2f0/0x924
.pmac_probe+0x1b0/0x20c
.setup_arch+0x1b8/0x674
.start_kernel+0xdc/0xb74
start_here_common+0x1c/0x44
DART table allocated at: (____ptrval____)

Which he bisected to a change in kmemleak, commit
23c2d497de21 ("mm: kmemleak: take a full lowmem check in kmemleak_*_phys()").

Because pmac_probe() is called before mem_topology_setup(), the min/
max PFN variables are still zero. That causes kmemleak_alloc_phys() to
ignore the allocation, because the checks against the PFN fail. Then
kmemleak_no_scan() can't find the allocation and prints warning.

Given that kmemleak_alloc_phys() is ignoring the allocation to begin
with, there's no need to call kmemleak_no_scan() at all, which avoids
the warning.

Reported-by: Erhard Furtner <erhard_f@mailbox.org>
Closes: https://lore.kernel.org/all/bug-216156-206035@https.bugzilla.kernel.org%2F/
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20240419115913.3317575-1-mpe@ellerman.id.au

-4
-4
arch/powerpc/sysdev/dart_iommu.c
··· 24 24 #include <linux/suspend.h> 25 25 #include <linux/memblock.h> 26 26 #include <linux/gfp.h> 27 - #include <linux/kmemleak.h> 28 27 #include <linux/of_address.h> 29 28 #include <asm/io.h> 30 29 #include <asm/iommu.h> ··· 241 242 NUMA_NO_NODE); 242 243 if (!dart_tablebase) 243 244 panic("Failed to allocate 16MB below 2GB for DART table\n"); 244 - 245 - /* There is no point scanning the DART space for leaks*/ 246 - kmemleak_no_scan((void *)dart_tablebase); 247 245 248 246 /* Allocate a spare page to map all invalid DART pages. We need to do 249 247 * that to work around what looks like a problem with the HT bridge