[PATCH v2 0/2] mm/cma: fix range selection in cma_declare_contiguous_multi()
From: Ivy Lopez
Date: Wed Oct 14 2026 - 22:53:53 EST
These two patches fix two independent bugs in the multi-range selection
of cma_declare_contiguous_multi(), found by code inspection with the
help of an LLM (both patches carry Assisted-by: LLM).
Patch 1 fixes list_insert_sorted(), which does not actually sort: it
stops at the wrong entry and, when no entry matches, inserts before the
last entry instead of appending. The caller assumes the list tail is the
smallest recorded range and that the list is walked largest first.
Patch 2 fixes sizesum counting the size of ranges that were skipped
because the list was full, so the sizesum < total_size check can pass
when the recorded ranges cannot cover the request, and the function
returns 0 having reserved less than asked for.
Each patch fixes a distinct failure and neither depends on the other.
No kernel-level reproducer was produced and nothing was tested beyond
compiling; the examples in the commit messages come from a userspace
copy of the helper and the selection loop, written from the source.
Changes in v2:
- resend as a series with a cover letter, as requested by Lorenzo
- commit messages now state how the bugs were found and that they were
not tested on hardware or in a booted kernel
- add Assisted-by: LLM
- patch 1: correct the sentence about the first inserted range staying
at the tail (only until it is evicted)
- rebased on the current akpm/mm-new
- no code changes
v1: https://lore.kernel.org/all/20261011003059.169430-1-skunkolee@xxxxxxxxx/
Ivy Lopez (2):
mm/cma: fix list_insert_sorted() ordering
mm/cma: do not count skipped ranges in cma_declare_contiguous_multi()
mm/cma.c | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)
--
2.56.0