Subject: [Bug 216156] [bisected] kmemleak: Not scanning unknown object at 0xc00000007f000000

From: [email-masked]
Date: Tue, 10 Oct 2023 12:14:44 +0000

https://bugzilla.kernel.org/show_bug.cgi?id=216156

--- Comment #15 from Michael Ellerman ([email-masked]) ---
Yeah, facepalm. Calling kmemleak_no_scan() later doesn't help, because it's the
early allocation that is ignored, leading to the warning.

So we can just drop the call to kmemleak_no_scan(), the table won't be scanned
because kmemleak ignores it because it thinks it's outside of the valid PFN
ranges.

eg:

diff --git a/arch/powerpc/sysdev/dart_iommu.c
b/arch/powerpc/sysdev/dart_iommu.c
index 98096bbfd62e..3883cb8a747e 100644
--- a/arch/powerpc/sysdev/dart_iommu.c
+++ b/arch/powerpc/sysdev/dart_iommu.c
@@ -243,9 +243,6 @@ static void __init allocate_dart(void)
        if (!dart_tablebase)
                panic("Failed to allocate 16MB below 2GB for DART table\n");

-       /* There is no point scanning the DART space for leaks*/
-       kmemleak_no_scan((void *)dart_tablebase);
-
        /* Allocate a spare page to map all invalid DART pages. We need to do
         * that to work around what looks like a problem with the HT bridge
         * prefetching into invalid pages and corrupting data

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.