From: Baoquan He <baoquan.he@linux.dev>
To: Jinjie Ruan <ruanjinjie@huawei.com>
Cc: catalin.marinas@arm.com, will@kernel.org, mark.rutland@arm.com,
chenhuacai@kernel.org, kernel@xen0n.name, maddy@linux.ibm.com,
mpe@ellerman.id.au, npiggin@gmail.com, chleroy@kernel.org,
ritesh.list@gmail.com, sshegde@linux.ibm.com, tglx@kernel.org,
mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com,
hpa@zytor.com, gregkh@linuxfoundation.org, rafael@kernel.org,
dakr@kernel.org, akpm@linux-foundation.org, rppt@kernel.org,
pasha.tatashin@soleen.com, pratyush@kernel.org,
ruirui.yang@linux.dev, leitao@debian.org, yeoreum.yun@arm.com,
sourabhjain@linux.ibm.com, robh@kernel.org, coxu@redhat.com,
kees@kernel.org, tangyouling@kylinos.cn, liukexin@kylinos.cn,
zhangtianyang@loongson.cn, guodongtai@kylinos.cn,
maqianga@uniontech.com, chao.gao@intel.com, kai.huang@intel.com,
vishal.l.verma@intel.com, seanjc@google.com, piliu@redhat.com,
thuth@redhat.com, jbouron@amazon.com, me@linux.beauty,
mclapinski@google.com, graf@amazon.com, bgwin@google.com,
hbathini@linux.ibm.com, eric.devolder@oracle.com,
takahiro.akashi@linaro.org, james.morse@arm.com,
palmer@rivosinc.com, x86@kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, loongarch@lists.linux.dev,
linuxppc-dev@lists.ozlabs.org, driver-core@lists.linux.dev,
kexec@lists.infradead.org
Subject: Re: [PATCH v6 00/14] crash: Fix several bugs
Date: Thu, 8 Oct 2026 11:26:46 +0800 [thread overview]
Message-ID: <ascNduTeakZBflVS@fedora> (raw)
In-Reply-To: <f4ba3a6b-537d-4328-b0c1-c0e5aa61924f@huawei.com>
On 10/08/26 at 09:57am, Jinjie Ruan wrote:
>
>
> 在 2026/9/21 17:04, Jinjie Ruan 写道:
> > As Baoquan and Catalin suggested, this patch set fixes
> > several pre-existing code issues found by Sashiko AI [1][2][3].
> >
> > The major improvements and fixes included in this series are:
> > - Fix several memory leaks for arm64, and similar issues on LoongArch.
> > - Fix out-of-bounds write on 32-bit Highmem for x86.
> > - Fix TOCTOU race in crash memory range collection.
>
> Hi all,
>
> Gentle ping.
>
> Could anyone take a look or let me know if there's anything
> else needed? I can rebase/resend if required.
They may need reviewing and ack from different arch. E.g patch 1,
even though it's changed in kernel/kexec_core.c, the arm64 specific
handling need be checked and confirmed by arm64 expert.
I can review changes in generic code and arch I am familiar with, while
those part I am unfamiliar with need be reviewed by experts of specific
area.
>
> >
> > This patch set is rebased on v7.3-rc3. Compared to the previous version,
> > split out arm64 crash hotplug patches as Breno suggested, which are based
> > on these bugfix patches and will be resubmitted after this patch series
> > is merged.
> >
> > Slightly tested on x86_64 and arm64 qemu with:
> > - kexec_load (--kexec-syscall --hotplug)
> > - kexec_load (--kexec-file-syscall)
> >
> > All boot successfully into the second kernel.
> >
> > [1]: https://lore.kernel.org/all/20260601094805.2928614-1-ruanjinjie@huawei.com/
> > [2]: https://sashiko.dev/#/patchset/20260729031235.2840255-1-ruanjinjie%40huawei.com
> > [3]: https://sashiko.dev/#/patchset/20260907125404.922123-1-ruanjinjie%40huawei.com
> >
> > Changes in v6:
> > - Split out arm64 crash hotplug patches as Breno suggested.
> > - Remove unused elfcorehdr_updated [4].
> > - Make the patch split more clear.
> > - Link to v5: https://lore.kernel.org/all/20260918100442.3841135-1-ruanjinjie@huawei.com/
> >
> > [4]: https://sashiko.dev/#/patchset/20260907125404.922123-1-ruanjinjie%40huawei.com
> >
> > Changs in v5:
> > - Rebased on v7.3-rc3.
> > - Fix several pre-existing code issues reported by Sashiko AI review. [3]
> > - Add an extra slot for memory hot-unplug.
> > - Add device_hotplug_lock_assert_held() helper.
> > - Rework to let the hotplug paths to skip CPU events entirely, which avoid
> > the TOCTOU race of memory hotplug events and internal CPU offline path
> > without holding device_hotplug_lock.
> > - Link to v4: https://lore.kernel.org/all/20260907125404.922123-1-ruanjinjie@huawei.com/
> >
> > Changes in v4:
> > - Rebased on v7.3-rc1.
> > - Update the kexec_core code as Mike suggested.
> > - Update the LoongArch subject as Huacai suggested.
> > - Drop crash_dump_dm_crypt patch which will be fixed by Coiby in [4] as
> > Sourabh suggested.
> > - Drop x86 related patches because of branch conflict, which will
> > be done later.
> > - Drop the incorrect CRASH_MAX_MEMORY_RANGES patch.
> > - Handle elfcorehdr_index in arm64 arch code.
> > - Link to v3: https://lore.kernel.org/all/20260826092541.3905933-1-ruanjinjie@huawei.com/
> >
> > [4] https://lore.kernel.org/all/20260828084900.1496839-2-coiby.xu@gmail.com/
> >
> > Changes in v3:
> > - Handle "KEXEC_CRASH_HP_REMOVE_MEMORY" action.
> > - Fix several pre-existing code issues reported by Sashiko AI review [3].
> > - Introduce crash_extra_elfcorehdr_size() and elf64_phdr_size() helper.
> > - Rework related crash and arch code.
> > - Add test method.
> > - v2: https://lore.kernel.org/all/20260729031235.2840255-1-ruanjinjie@huawei.com/
> >
> > Changes in v2:
> > - Split out Powerpc bugfix patch as Mike suggested.
> > - Use phys_to_virt() instead of __va() in update_crash_elfcorehdr().
> > - Convert pnum_hdr_sz() to a function.
> > - Only assign elfcorehdr_index after kexec_add_buffer succeeds, considering
> > crash_handle_hotplug_event() already performs validity check on
> > elfcorehdr_index:
> > - We can safely remove the check for CPU hotplug
> > in arch_crash_handle_hotplug_event().
> > - The elfcorehdr_index's segment mem will be valid in
> > update_crash_elfcorehdr(), so we can safely remove the NULL check.
> > - Simplify the commit message.
> > - v1: https://lore.kernel.org/all/20260723131242.1537633-1-ruanjinjie@huawei.com/#t
> >
> > Jinjie Ruan (14):
> > kexec: Fix CMA segment address translation with non-zero text_offset
> > kexec: Record allocated CMA pages to fix release size mismatch
> > kexec: Extract kexec_free_segment_cma() from kimage_free_cma()
> > arm64: kexec_file: Fix CMA page leaks in segment placement retry loops
> > arm64: kexec_file: Fix elf_headers memory leak in retry loop
> > LoongArch: kexec_file: Fix CMA page leaks in segment placement retry
> > loops
> > LoongArch: kexec_file: Fix elf_headers memory leak in retry loop
> > LoongArch: kexec_file: Fix a modified_cmdline leak
> > x86/crash: Fix massive out-of-bounds write on 32-bit Highmem
> > crash: Extract crash_get_memory_ranges() helper
> > crash: Factor out crash_find_elfcorehdr() helper
> > crash: Normalize the kexec_load elfcorehdr at load time
> > driver core: Add device_hotplug_lock_assert_held() helper
> > crash: Fix TOCTOU race in crash memory range collection
> >
> > arch/arm64/kernel/kexec_image.c | 1 +
> > arch/arm64/kernel/machine_kexec_file.c | 9 +-
> > arch/loongarch/kernel/kexec_efi.c | 1 +
> > arch/loongarch/kernel/machine_kexec.c | 2 +
> > arch/loongarch/kernel/machine_kexec_file.c | 10 +-
> > arch/powerpc/kexec/crash.c | 1 +
> > arch/x86/kernel/crash.c | 40 +++++---
> > drivers/base/core.c | 5 +
> > include/linux/crash_core.h | 2 +
> > include/linux/device.h | 1 +
> > include/linux/kexec.h | 4 +-
> > kernel/crash_core.c | 114 +++++++++++++++++----
> > kernel/kexec.c | 4 +
> > kernel/kexec_core.c | 43 +++++---
> > kernel/kexec_file.c | 13 ++-
> > 15 files changed, 192 insertions(+), 58 deletions(-)
> >
>
> --
> Best regards,
> Jinjie
>
next prev parent reply other threads:[~2026-10-08 3:26 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-21 9:04 [PATCH v6 00/14] crash: Fix several bugs Jinjie Ruan
2026-09-21 9:04 ` [PATCH v6 01/14] kexec: Fix CMA segment address translation with non-zero text_offset Jinjie Ruan
2026-09-21 9:17 ` sashiko-bot
2026-09-21 9:04 ` [PATCH v6 02/14] kexec: Record allocated CMA pages to fix release size mismatch Jinjie Ruan
2026-09-21 9:14 ` sashiko-bot
2026-09-21 9:04 ` [PATCH v6 03/14] kexec: Extract kexec_free_segment_cma() from kimage_free_cma() Jinjie Ruan
2026-09-21 9:13 ` sashiko-bot
2026-09-21 9:13 ` sashiko-bot
2026-09-21 9:04 ` [PATCH v6 04/14] arm64: kexec_file: Fix CMA page leaks in segment placement retry loops Jinjie Ruan
2026-09-21 9:18 ` sashiko-bot
2026-09-21 9:04 ` [PATCH v6 05/14] arm64: kexec_file: Fix elf_headers memory leak in retry loop Jinjie Ruan
2026-09-21 9:15 ` sashiko-bot
2026-10-10 20:00 ` Catalin Marinas
2026-09-21 9:04 ` [PATCH v6 06/14] LoongArch: kexec_file: Fix CMA page leaks in segment placement retry loops Jinjie Ruan
2026-09-21 9:13 ` sashiko-bot
2026-09-21 9:13 ` sashiko-bot
2026-09-21 9:04 ` [PATCH v6 07/14] LoongArch: kexec_file: Fix elf_headers memory leak in retry loop Jinjie Ruan
2026-09-21 9:14 ` sashiko-bot
2026-09-21 9:04 ` [PATCH v6 08/14] LoongArch: kexec_file: Fix a modified_cmdline leak Jinjie Ruan
2026-09-21 9:15 ` sashiko-bot
2026-09-21 9:04 ` [PATCH v6 09/14] x86/crash: Fix massive out-of-bounds write on 32-bit Highmem Jinjie Ruan
2026-09-21 9:12 ` sashiko-bot
2026-09-21 9:12 ` sashiko-bot
2026-09-21 9:04 ` [PATCH v6 10/14] crash: Extract crash_get_memory_ranges() helper Jinjie Ruan
2026-09-21 9:19 ` sashiko-bot
2026-09-21 9:04 ` [PATCH v6 11/14] crash: Factor out crash_find_elfcorehdr() helper Jinjie Ruan
2026-09-21 9:17 ` sashiko-bot
2026-09-21 9:04 ` [PATCH v6 12/14] crash: Normalize the kexec_load elfcorehdr at load time Jinjie Ruan
2026-09-21 9:19 ` sashiko-bot
2026-09-21 9:04 ` [PATCH v6 13/14] driver core: Add device_hotplug_lock_assert_held() helper Jinjie Ruan
2026-09-21 9:18 ` sashiko-bot
2026-09-21 9:04 ` [PATCH v6 14/14] crash: Fix TOCTOU race in crash memory range collection Jinjie Ruan
2026-09-21 9:25 ` sashiko-bot
2026-09-21 9:25 ` sashiko-bot
2026-10-08 1:57 ` [PATCH v6 00/14] crash: Fix several bugs Jinjie Ruan
2026-10-08 3:26 ` Baoquan He [this message]
2026-10-08 6:42 ` Mike Rapoport
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=ascNduTeakZBflVS@fedora \
--to=baoquan.he@linux.dev \
--cc=akpm@linux-foundation.org \
--cc=bgwin@google.com \
--cc=bp@alien8.de \
--cc=catalin.marinas@arm.com \
--cc=chao.gao@intel.com \
--cc=chenhuacai@kernel.org \
--cc=chleroy@kernel.org \
--cc=coxu@redhat.com \
--cc=dakr@kernel.org \
--cc=dave.hansen@linux.intel.com \
--cc=driver-core@lists.linux.dev \
--cc=eric.devolder@oracle.com \
--cc=graf@amazon.com \
--cc=gregkh@linuxfoundation.org \
--cc=guodongtai@kylinos.cn \
--cc=hbathini@linux.ibm.com \
--cc=hpa@zytor.com \
--cc=james.morse@arm.com \
--cc=jbouron@amazon.com \
--cc=kai.huang@intel.com \
--cc=kees@kernel.org \
--cc=kernel@xen0n.name \
--cc=kexec@lists.infradead.org \
--cc=leitao@debian.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=liukexin@kylinos.cn \
--cc=loongarch@lists.linux.dev \
--cc=maddy@linux.ibm.com \
--cc=maqianga@uniontech.com \
--cc=mark.rutland@arm.com \
--cc=mclapinski@google.com \
--cc=me@linux.beauty \
--cc=mingo@redhat.com \
--cc=mpe@ellerman.id.au \
--cc=npiggin@gmail.com \
--cc=palmer@rivosinc.com \
--cc=pasha.tatashin@soleen.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=seanjc@google.com \
--cc=sourabhjain@linux.ibm.com \
--cc=sshegde@linux.ibm.com \
--cc=takahiro.akashi@linaro.org \
--cc=tangyouling@kylinos.cn \
--cc=tglx@kernel.org \
--cc=thuth@redhat.com \
--cc=vishal.l.verma@intel.com \
--cc=will@kernel.org \
--cc=x86@kernel.org \
--cc=yeoreum.yun@arm.com \
--cc=zhangtianyang@loongson.cn \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.