Re: [PATCH v5 02/17] kexec: Record allocated CMA pages to fix release size mismatch
| Newsgroups | org.kernel.vger.linux-fsdevel,dev.linux.lists.driver-core,dev.linux.lists.loongarch,org.kernel.vger.linux-kernel,org.kvack.linux-mm,org.ozlabs.lists.linuxppc-dev |
|---|---|
| Message-ID | <[email protected]> |
> The CMA pages allocated for a kexec segment are released using the > segment's memsz to calculate the number of pages. However, some > architecture loaders modify the segment's memsz after allocation > (e.g. arm64 subtracts text_offset), causing the release function to > free fewer pages than were originally allocated, leaking the remaining > CMA pages. > > Add a per-segment `segment_cma_pages` array to store the number of > pages actually allocated from CMA. Populate it during > kexec_add_buffer() using the aligned memsz, and use it in > kimage_free_cma() to accurately release all allocated pages. > > This avoids relying on the potentially modified segment->memsz and > prevents silent CMA memory leaks. > > Cc: Andrew Morton <[email protected]> > Cc: Baoquan He <[email protected]> > Cc: Mike Rapoport <[email protected]> > Cc: Pasha Tatashin <[email protected]> > Cc: Pratyush Yadav <[email protected]> > Cc: Brian Mak <[email protected]> > Cc: Pingfan Liu <[email protected]> > Cc: Sourabh Jain <[email protected]> > Cc: Justinien Bouron <[email protected]> > Cc: Li Chen <[email protected]> > Cc: [email protected] > Link: https://sashiko.dev/#/patchset/20260729031235.2840255-1-ruanjinjie%40huawei.com > Fixes: 07d24902977e ("kexec: enable CMA based contiguous allocation") > Signed-off-by: Jinjie Ruan <[email protected]> Sashiko has reviewed this patch and found no issues. It looks great! -- Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=2