[PATCH 0/3] Subject: mm/hugetlb: fix CMA handling and surplus allocation accounting

From: Kaitao Cheng

Date: Wed Oct 28 2026 - 07:33:40 EST


From: Kaitao Cheng <chengkaitao@xxxxxxxxxx>

This series fixes three independent HugeTLB issues reported by Sashiko,
covering CMA parameter parsing, CMA allocation state preservation, and
NR_HUGETLB accounting on allocation rollback.

Patch 1 rejects a global hugetlb_cma size following node-specific entries.
This prevents malformed input from overwriting valid per-node reservations
with an incorrectly parsed global size.

Patch 2 preserves the CMA flag when a folio is returned to the HugeTLB
pool after vmemmap restoration fails. This ensures that a subsequent free
releases the CMA allocation correctly instead of leaving its bitmap set.

Patch 3 fixes NR_HUGETLB accounting when unused surplus folios are freed
during allocation or reservation cleanup.

Kaitao Cheng (3):
mm/hugetlb_cma: fix incorrect hugetlb_cma_size assignment on malformed
input
mm/hugetlb: preserve CMA flag when returning folios to the pool
mm/hugetlb: fix NR_HUGETLB accounting for unused surplus folios

mm/hugetlb.c | 13 +++++++++++--
mm/hugetlb_cma.c | 3 +++
2 files changed, 14 insertions(+), 2 deletions(-)

--
2.53.0