[PATCH 01/49] mm/sparse: fix vmemmap accounting imbalance on memory hotplug error
Muchun Song
muchun.song at linux.dev
Tue Apr 14 13:03:08 AEST 2026
> On Apr 14, 2026, at 02:35, David Hildenbrand (Arm) <david at kernel.org> wrote:
>
> On 4/5/26 14:51, Muchun Song wrote:
>> In section_activate(), if populate_section_memmap() fails, the error
>> handling path calls section_deactivate() to roll back the state. This
>> approach introduces an accounting imbalance.
>>
>> Since the commit c3576889d87b ("mm: fix accounting of memmap pages"),
>> memmap pages are accounted for only after populate_section_memmap()
>> succeeds. However, section_deactivate() unconditionally decrements the
>> vmemmap account. Consequently, a failure in populate_section_memmap()
>> leads to a negative offset (underflow) in the system's vmemmap tracking.
>>
>> We can fix this by ensuring that the vmemmap accounting is incremented
>> immediately before checking for the success of populate_section_memmap().
>> If populate_section_memmap() fails, the subsequent call to
>> section_deactivate() will decrement the accounting, perfectly offsetting
>> the increment and maintaining balance.
>>
>> Fixes: c3576889d87b ("mm: fix accounting of memmap pages")
>> Signed-off-by: Muchun Song <songmuchun at bytedance.com>
>> ---
>
> Can you send the revised fix separately, please?
No problem.
Muchun,
Thanks.
>
> AI review flagged that recently on one of my series that touched the
> code, thanks for taking it off my todo list :)
>
> --
> Cheers,
>
> David
More information about the Linuxppc-dev
mailing list