Re: [RESEND PATCH] drivers/base: kmemleak ignore a known leak

From: Catalin Marinas
Date: Thu Dec 06 2018 - 12:59:55 EST


On Thu, Dec 06, 2018 at 11:07:51AM -0500, Qian Cai wrote:
> unreferenced object 0xffff808ec6dc5a80 (size 128):
> comm "swapper/0", pid 1, jiffies 4294938063 (age 2560.530s)
> hex dump (first 32 bytes):
> ff ff ff ff 00 00 00 00 6b 6b 6b 6b 6b 6b 6b 6b ........kkkkkkkk
> 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
> backtrace:
> [<00000000476dcf8c>] kmem_cache_alloc_trace+0x430/0x500
> [<000000004f708d37>] platform_device_register_full+0xbc/0x1e8
> [<000000006c2a7ec7>] acpi_create_platform_device+0x370/0x450
> [<00000000ef135642>] acpi_default_enumeration+0x34/0x78
> [<000000003bd9a052>] acpi_bus_attach+0x2dc/0x3e0
> [<000000003cf4f7f2>] acpi_bus_attach+0x108/0x3e0
> [<000000003cf4f7f2>] acpi_bus_attach+0x108/0x3e0
> [<000000002968643e>] acpi_bus_scan+0xb0/0x110
> [<0000000010dd0bd7>] acpi_scan_init+0x1a8/0x410
> [<00000000965b3c5a>] acpi_init+0x408/0x49c
> [<00000000ed4b9fe2>] do_one_initcall+0x178/0x7f4
> [<00000000a5ac5a74>] kernel_init_freeable+0x9d4/0xa9c
> [<0000000070ea6c15>] kernel_init+0x18/0x138
> [<00000000fb8fff06>] ret_from_fork+0x10/0x1c
> [<0000000041273a0d>] 0xffffffffffffffff
>
> Then, faddr2line pointed out this line,
>
> /*
> * This memory isn't freed when the device is put,
> * I don't have a nice idea for that though. Conceptually
> * dma_mask in struct device should not be a pointer.
> * See http://thread.gmane.org/gmane.linux.kernel.pci/9081
> */
> pdev->dev.dma_mask =
> kmalloc(sizeof(*pdev->dev.dma_mask), GFP_KERNEL);
>
> Since this leak has been existed for more than 8-year now and it does not
> reference other part of the memory, let kmemleak ignore it, so users don't
> need to waste time reporting this in the future.
>
> Signed-off-by: Qian Cai <cai@xxxxxx>

Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx>