[PATCH] powerpc: msi: mark bitmap with kmemleak_not_leak()

Denis Kirjanov kda at linux-powerpc.org
Mon Sep 14 04:36:37 AEST 2015


During the MSI bitmap test on boot kmemleak spews the following trace:

unreferenced object 0xc00000016e86c900 (size 64):
    comm "swapper/0", pid 1, jiffies 4294893173 (age 518.024s)
    hex dump (first 32 bytes):
	00 00 01 ff 7f ff 7f 37 00 00 00 00 00 00 00 00
	.......7........
	ff ff ff ff ff ff ff ff 01 ff ff ff ff ff ff ff
	................
	backtrace:
	[<c00000000003eebc>] .zalloc_maybe_bootmem+0x3c/0x380
	[<c000000000042d6c>] .msi_bitmap_alloc+0x3c/0xb0
	[<c000000000a9aff8>]
	.msi_bitmap_selftest+0x30/0x2b4
	[<c0000000000090f4>]
	.do_one_initcall+0xd4/0x270
	[<c000000000a8e250>]
	.kernel_init_freeable+0x1a0/0x280
	[<c000000000009b5c>]
	.kernel_init+0x1c/0x120
	[<c000000000007fbc>]
	.ret_from_kernel_thread+0x58/0x9c

The comment in msi_bitmap_free() states that we can't free
the bitmap so mark it with the kmemleak_not_leak().

Signed-off-by: Denis Kirjanov <kda at linux-powerpc.org>
---
 arch/powerpc/sysdev/msi_bitmap.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/powerpc/sysdev/msi_bitmap.c b/arch/powerpc/sysdev/msi_bitmap.c
index 73b64c7..bd9fa54 100644
--- a/arch/powerpc/sysdev/msi_bitmap.c
+++ b/arch/powerpc/sysdev/msi_bitmap.c
@@ -139,6 +139,7 @@ int msi_bitmap_alloc(struct msi_bitmap *bmp, unsigned int irq_count,
 void msi_bitmap_free(struct msi_bitmap *bmp)
 {
 	/* we can't free the bitmap we don't know if it's bootmem etc. */
+	kmemleak_not_leak(bmp->bitmap);
 	of_node_put(bmp->of_node);
 	bmp->bitmap = NULL;
 }
-- 
2.4.0



More information about the Linuxppc-dev mailing list