Re: [PATCH] mm: huge_memory: Fix kobject cleanup in thpsize_create error

From: Zi Yan

Date: Tue Jul 14 2026 - 21:06:13 EST


On Tue Jul 14, 2026 at 9:02 PM EDT, Zi Yan wrote:
> On Sat Jul 11, 2026 at 4:46 AM EDT, Hongling Zeng wrote:
>> When kobject_init_and_add() fails, the kobject API requires calling
>> kobject_put() to properly clean up the memory, not direct kfree().
>>
>> According to the kobject API documentation, kobject_init_and_add()
>> calls kobject_init() internally. If the subsequent kobject_add()
>> fails, the kobject has still been initialized and must be cleaned up
>> via the reference count mechanism (kobject_put), not direct kfree().
>>
>> Direct kfree() leaves the kobject's internal state (including the
>> reference count and kset membership) uncleaned, which can cause:
>> - Memory leaks of kobject internal structures
>> - Potential use-after-free if there are pending references
>> - Inconsistent state with the rest of the error handling code
>>
>> This fix matches the pattern used elsewhere in the kernel and in the
>> same function (err_put label) which correctly uses kobject_put().
>>
>> Fixes: 3485b88390b0 ("mm: thp: introduce multi-size THP sysfs interface")
>> Cc: stable@xxxxxxxxxxxxxxx
>> Signed-off-by: Hongling Zeng <zenghongling@xxxxxxxxxx>
>> ---
>> mm/huge_memory.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
> LGTM.
>
> Acked-by: Zi Yan <ziy@xxxxxxxxxx>

Oops, forgot that V2 was sent and missed Baolin's comment. Sorry for the
noise.


--
Best Regards,
Yan, Zi