[PATCH 1/2] coresight: Fix memory leak in acpi_buffer->pointer

Suzuki K Poulose suzuki.poulose at arm.com
Fri Aug 18 04:42:27 PDT 2023


On 17/08/2023 15:03, James Clark wrote:
> 
> 
> On 17/08/2023 09:59, Junhao He wrote:
>> There are memory leaks reported by kmemleak:
>> ...
>> unreferenced object 0xffff00213c141000 (size 1024):
>>    comm "systemd-udevd", pid 2123, jiffies 4294909467 (age 6062.160s)
>>    hex dump (first 32 bytes):
>>      04 00 00 00 02 00 00 00 18 10 14 3c 21 00 ff ff  ...........<!...
>>      00 00 00 00 00 00 00 00 03 00 00 00 10 00 00 00  ................
>>    backtrace:
>>      [<000000004b7c9001>] __kmem_cache_alloc_node+0x2f8/0x348
>>      [<00000000b0fc7ceb>] __kmalloc+0x58/0x108
>>      [<0000000064ff4695>] acpi_os_allocate+0x2c/0x68
>>      [<000000007d57d116>] acpi_ut_initialize_buffer+0x54/0xe0
>>      [<0000000024583908>] acpi_evaluate_object+0x388/0x438
>>      [<0000000017b2e72b>] acpi_evaluate_object_typed+0xe8/0x240
>>      [<000000005df0eac2>] coresight_get_platform_data+0x1b4/0x988 [coresight]
>> ...
>>
>> The ACPI buffer memory (buf.pointer) should be freed. But the buffer
>> is also used after returning from acpi_get_dsd_graph().
>> Move the temporary variables buf to acpi_coresight_parse_graph(),
>> and free it before the function return to prevent memory leak.
>>
>> Fixes: 76ffa5ab5b79 ("coresight: Support for ACPI bindings")
>> Signed-off-by: Junhao He <hejunhao3 at huawei.com>
> 
> I confirmed that the error gone. Thanks for the fix.
> 
> Reviewed-by: James Clark <james.clark at arm.com>

Queued:

https://git.kernel.org/coresight/c/1a9e02673e25

Thanks!

Suzuki




More information about the linux-arm-kernel mailing list