From: sashiko-bot@kernel.org
To: gregkh@linuxfoundation.org, dakr@kernel.org, maddy@linux.ibm.com,
mingo@redhat.com, bp@alien8.de, ruanjinjie@huawei.com,
ardb@kernel.org, robh@kernel.org, vishal.l.verma@intel.com,
me@linux.beauty, kas@kernel.org, bgwin@google.com,
linux-kernel@vger.kernel.org, chleroy@kernel.org,
baoquan.he@linux.dev, rppt@kernel.org, will@kernel.org,
rafael@kernel.org, lizhengyu3@huawei.com, hpa@zytor.com,
yeoreum.yun@arm.com, tangyouling@kylinos.cn, graf@amazon.com,
eric.devolder@oracle.com, sshegde@linux.ibm.com,
kernel@xen0n.name, loongarch@lists.linux.dev, gshan@redhat.com,
thuth@redhat.com, linux-mm@kvack.org, sourabhjain@linux.ibm.com,
hbathini@linux.ibm.com, ritesh.list@gmail.com,
mark.rutland@arm.com, adityag@linux.ibm.com,
guodongtai@kylinos.cn, catalin.marinas@arm.com,
maqianga@uniontech.com, seanjc@google.com, kees@kernel.org,
dave.hansen@linux.intel.com, ruirui.yang@linux.dev,
x86@kernel.org, palmer@rivosinc.com, piliu@redhat.com,
pratyush@kernel.org, james.morse@arm.com, tglx@kerne l.org,
jbouron@amazon.com, zhangtianyang@loongson.cn,
driver-core@lists.linux.dev,
linux-arm-kernel@lists.infradead.org, chao.gao@intel.com,
"Jinjie Ruan" <ruanjinjie@huawei.com>,
liukexin@kylinos.cn, linux-fsdevel@vger.kernel.org,
blum@kernel.org, npiggin@gmail.com, leitao@debian.org,
mpe@ellerman.id.au, linuxppc-dev@lists.ozlabs.org,
pasha.tatashin@soleen.com, mclapinski@google.com,
chenhuacai@kernel.org, coxu@redhat.com,
takahiro.akashi@linaro.org, akpm@linux-foundation.org
Cc: kexec@lists.infradead.org
Subject: Re: [PATCH v5 02/17] kexec: Record allocated CMA pages to fix release size mismatch
Date: Fri, 18 Sep 2026 10:16:41 +0000 [thread overview]
Message-ID: <20260918101641.D27101F00898@smtp.kernel.org> (raw)
In-Reply-To: <20260918100442.3841135-3-ruanjinjie@huawei.com>
> 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 <akpm@linux-foundation.org>
> Cc: Baoquan He <baoquan.he@linux.dev>
> Cc: Mike Rapoport <rppt@kernel.org>
> Cc: Pasha Tatashin <pasha.tatashin@soleen.com>
> Cc: Pratyush Yadav <pratyush@kernel.org>
> Cc: Brian Mak <makb@juniper.net>
> Cc: Pingfan Liu <piliu@redhat.com>
> Cc: Sourabh Jain <sourabhjain@linux.ibm.com>
> Cc: Justinien Bouron <jbouron@amazon.com>
> Cc: Li Chen <me@linux.beauty>
> Cc: stable@vger.kernel.org
> Link: https://sashiko.dev/#/patchset/20260729031235.2840255-1-ruanjinjie%40huawei.com
> Fixes: 07d24902977e ("kexec: enable CMA based contiguous allocation")
> Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Sashiko has reviewed this patch and found no issues. It looks great!
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260918100442.3841135-1-ruanjinjie@huawei.com?part=2
next prev parent reply other threads:[~2026-09-18 10:16 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-18 10:04 [PATCH v5 00/17] crash: Rework and add arm64 crash hotplug support Jinjie Ruan
2026-09-18 10:04 ` [PATCH v5 01/17] kexec: Fix CMA segment address translation with non-zero text_offset Jinjie Ruan
2026-09-18 10:22 ` sashiko-bot
2026-09-18 10:04 ` [PATCH v5 02/17] kexec: Record allocated CMA pages to fix release size mismatch Jinjie Ruan
2026-09-18 10:16 ` sashiko-bot [this message]
2026-09-18 10:04 ` [PATCH v5 03/17] kexec: Extract kexec_free_segment_cma() from kimage_free_cma() Jinjie Ruan
2026-09-18 10:18 ` sashiko-bot
2026-09-18 10:04 ` [PATCH v5 04/17] arm64: kexec_file: Fix CMA page leaks in segment placement retry loops Jinjie Ruan
2026-09-18 10:15 ` sashiko-bot
2026-09-18 10:04 ` [PATCH v5 05/17] arm64: kexec_file: Fix elf_headers memory leak in retry loop Jinjie Ruan
2026-09-18 10:16 ` sashiko-bot
2026-09-18 10:04 ` [PATCH v5 06/17] LoongArch: kexec_file: Fix CMA page leaks in segment placement retry loops Jinjie Ruan
2026-09-18 10:16 ` sashiko-bot
2026-09-18 10:04 ` [PATCH v5 07/17] LoongArch: kexec_file: Fix elf_headers memory leak in retry loop Jinjie Ruan
2026-09-18 10:21 ` sashiko-bot
2026-09-18 10:04 ` [PATCH v5 08/17] LoongArch: kexec_file: Fix a modified_cmdline leak Jinjie Ruan
2026-09-18 10:18 ` sashiko-bot
2026-09-18 10:04 ` [PATCH v5 09/17] x86/crash: Fix massive out-of-bounds write on 32-bit Highmem Jinjie Ruan
2026-09-18 10:16 ` sashiko-bot
2026-09-18 10:04 ` [PATCH v5 10/17] crash: Extract crash_get_memory_ranges() helper Jinjie Ruan
2026-09-18 10:11 ` sashiko-bot
2026-09-18 10:04 ` [PATCH v5 11/17] crash: Normalize the kexec_load elfcorehdr at load time Jinjie Ruan
2026-09-18 10:27 ` sashiko-bot
2026-09-18 10:04 ` [PATCH v5 12/17] crash: Fix TOCTOU race in crash memory range collection Jinjie Ruan
2026-09-18 10:34 ` sashiko-bot
2026-09-18 10:04 ` [PATCH v5 13/17] crash: Assert device_hotplug_lock in crash_get_memory_ranges_nolock() Jinjie Ruan
2026-09-18 10:26 ` sashiko-bot
2026-09-18 10:04 ` [PATCH v5 14/17] elf: Introduce elf64_phdr_size() helper Jinjie Ruan
2026-09-18 10:25 ` sashiko-bot
2026-09-18 10:04 ` [PATCH v5 15/17] crash: Introduce crash_extra_elfcorehdr_size() helper Jinjie Ruan
2026-09-18 10:31 ` sashiko-bot
2026-09-18 10:04 ` [PATCH v5 16/17] arm64: kexec_file: Simplify load_other_segments() Jinjie Ruan
2026-09-18 10:27 ` sashiko-bot
2026-09-18 10:04 ` [PATCH v5 17/17] arm64: crash: Add crash hotplug support Jinjie Ruan
2026-09-18 10:36 ` sashiko-bot
2026-09-18 10:41 ` [PATCH v5 00/17] crash: Rework and add arm64 " Breno Leitao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260918101641.D27101F00898@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=adityag@linux.ibm.com \
--cc=ardb@kernel.org \
--cc=baoquan.he@linux.dev \
--cc=bgwin@google.com \
--cc=bp@alien8.de \
--cc=catalin.marinas@arm.com \
--cc=chleroy@kernel.org \
--cc=dakr@kernel.org \
--cc=dave.hansen@linux.intel.com \
--cc=eric.devolder@oracle.com \
--cc=graf@amazon.com \
--cc=gregkh@linuxfoundation.org \
--cc=gshan@redhat.com \
--cc=guodongtai@kylinos.cn \
--cc=hbathini@linux.ibm.com \
--cc=hpa@zytor.com \
--cc=james.morse@arm.com \
--cc=kas@kernel.org \
--cc=kees@kernel.org \
--cc=kernel@xen0n.name \
--cc=kexec@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lizhengyu3@huawei.com \
--cc=loongarch@lists.linux.dev \
--cc=maddy@linux.ibm.com \
--cc=maqianga@uniontech.com \
--cc=mark.rutland@arm.com \
--cc=me@linux.beauty \
--cc=mingo@redhat.com \
--cc=palmer@rivosinc.com \
--cc=piliu@redhat.com \
--cc=pratyush@kernel.org \
--cc=rafael@kernel.org \
--cc=ritesh.list@gmail.com \
--cc=robh@kernel.org \
--cc=rppt@kernel.org \
--cc=ruanjinjie@huawei.com \
--cc=ruirui.yang@linux.dev \
--cc=sashiko-reviews@lists.linux.dev \
--cc=seanjc@google.com \
--cc=sourabhjain@linux.ibm.com \
--cc=sshegde@linux.ibm.com \
--cc=tangyouling@kylinos.cn \
--cc=tglx@kerne \
--cc=thuth@redhat.com \
--cc=vishal.l.verma@intel.com \
--cc=will@kernel.org \
--cc=x86@kernel.org \
--cc=yeoreum.yun@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®