[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