]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
mm/kmemleak: fix percpu memory leak detection failure
authorGuo Weikang <guoweikang.kernel@gmail.com>
Fri, 27 Dec 2024 09:23:10 +0000 (17:23 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 13 Jan 2025 03:03:34 +0000 (19:03 -0800)
kmemleak_alloc_percpu gives an incorrect min_count parameter, causing
percpu memory to be considered a gray object.

Link: https://lkml.kernel.org/r/20241227092311.3572500-1-guoweikang.kernel@gmail.com
Fixes: 8c8685928910 ("mm/kmemleak: use IS_ERR_PCPU() for pointer in the percpu address space")
Signed-off-by: Guo Weikang <guoweikang.kernel@gmail.com>
Acked-by: Uros Bizjak <ubizjak@gmail.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: Guo Weikang <guoweikang.kernel@gmail.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/kmemleak.c

index 737af23f4f4e1ebfec6852820ca2cdc0e64dad2a..820ba3b5cbfc8f1d0ad29197f481ff39037b0b0a 100644 (file)
@@ -1093,7 +1093,7 @@ void __ref kmemleak_alloc_percpu(const void __percpu *ptr, size_t size,
        pr_debug("%s(0x%px, %zu)\n", __func__, ptr, size);
 
        if (kmemleak_enabled && ptr && !IS_ERR_PCPU(ptr))
-               create_object_percpu((__force unsigned long)ptr, size, 0, gfp);
+               create_object_percpu((__force unsigned long)ptr, size, 1, gfp);
 }
 EXPORT_SYMBOL_GPL(kmemleak_alloc_percpu);