All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: kees@kernel.org, piliu@redhat.com, npiggin@gmail.com,
	mpe@ellerman.id.au, me@linux.beauty, bgwin@google.com,
	mingo@redhat.com, x86@kernel.org, baoquan.he@linux.dev,
	guodongtai@kylinos.cn, leitao@debian.org,
	driver-core@lists.linux.dev, coxu@redhat.com,
	pratyush@kernel.org, "Jinjie  Ruan" <ruanjinjie@huawei.com>,
	will@kernel.org, dakr@kernel.org, sourabhjain@linux.ibm.com,
	maqianga@uniontech.com, gregkh@linuxfoundation.org,
	sshegde@linux.ibm.com, liukexin@kylinos.cn, kernel@xen0n.name,
	thuth@redhat.com, hbathini@linux.ibm.com,
	linux-kernel@vger.kernel.org, mclapinski@google.com,
	tglx@kernel.org, kai.huang@intel.com,
	linuxppc-dev@lists.ozlabs.org, robh@kernel.org,
	seanjc@google.com, james.morse@arm.com, palmer@rivosinc.com,
	chleroy@kernel.org, yeoreum.yun@arm.com,
	loongarch@lists.linux.dev, jbouron@amazon.com,
	catalin.marinas@arm.com, ritesh.list@gmail.com,
	akpm@linux-foundation.org, rppt@kernel.org,
	eric.devolder@oracle.com, chenhuacai@kernel.org,
	vishal.l.verma@intel.com, dave.hansen@linux.intel.com,
	chao.gao@intel.com, pasha.tatashin@soleen.com, bp@alien8.de,
	mark.rutland@arm.com, takahiro.akashi@linaro.org,
	zhangtianyang@loongson.cn, rafael@kernel.org,
	tangyouling@kylinos.cn, graf@amazon.com, ruirui.yang@linux.dev,
	hpa@zytor.com, linux-arm-kernel@lists.infra,
	dead.org@lists.ozlabs.org, maddy@linux.ibm.com
Cc: kexec@lists.infradead.org, ruanjinjie@huawei.com
Subject: Re: [PATCH v6 14/14] crash: Fix TOCTOU race in crash memory range collection
Date: Mon, 21 Sep 2026 09:25:27 +0000	[thread overview]
Message-ID: <20260921092528.17C231F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260921090450.807575-15-ruanjinjie@huawei.com>

> The crash kernel ELF core header construction counts system memory
> ranges via `arch_get_system_nr_ranges()`, allocates the crash_mem
> buffer, and then populates it via `arch_crash_populate_cmem()`.
> This sequence has a time-of-check-to-time-of-use (TOCTOU) race with
> memory hotplug: a concurrent hotplug event between the count
> and populate steps can increase the number of ranges beyond the allocated
> capacity, causing an out-of-bounds write. If the event triggers
> memblock_double_array(), the memblock array can be freed and reallocated
> during iteration, leading to a use-after-free.
> 
> Protect the entire range collection with device_hotplug_lock. Since
> the hotplug notification path already holds that lock, add a lockless
> helper, crash_get_memory_ranges_nolock(), for use there. The regular
> crash_get_memory_ranges() acquires the lock and calls the helper.
> 
> [ ... ]
> Fixes: 3751e728cef2 ("arm64: kexec_file: add crash dump support")
> Fixes: 8acea455fafa ("RISC-V: Support for kexec_file on panic")
> Fixes: 1bcca8620a91 ("LoongArch: Add crash dump support for kexec_file")
> Link: https://sashiko.dev/#/patchset/20260729031235.2840255-1-ruanjinjie%40huawei.com
> 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/20260921090450.807575-1-ruanjinjie@huawei.com?part=14



WARNING: multiple messages have this Message-ID (diff)
From: sashiko-bot@kernel.org
To: kees@kernel.org, piliu@redhat.com, npiggin@gmail.com,
	mpe@ellerman.id.au, me@linux.beauty, bgwin@google.com,
	mingo@redhat.com, x86@kernel.org, baoquan.he@linux.dev,
	guodongtai@kylinos.cn, leitao@debian.org,
	driver-core@lists.linux.dev, coxu@redhat.com,
	pratyush@kernel.org, "Jinjie Ruan" <ruanjinjie@huawei.com>,
	will@kernel.org, dakr@kernel.org, sourabhjain@linux.ibm.com,
	maqianga@uniontech.com, gregkh@linuxfoundation.org,
	sshegde@linux.ibm.com, liukexin@kylinos.cn, kernel@xen0n.name,
	thuth@redhat.com, hbathini@linux.ibm.com,
	linux-kernel@vger.kernel.org, mclapinski@google.com,
	tglx@kernel.org, kai.huang@intel.com,
	linuxppc-dev@lists.ozlabs.org, robh@kernel.org,
	seanjc@google.com, james.morse@arm.com, palmer@rivosinc.com,
	chleroy@kernel.org, yeoreum.yun@arm.com,
	loongarch@lists.linux.dev, jbouron@amazon.com,
	catalin.marinas@arm.com, ritesh.list@gmail.com,
	akpm@linux-foundation.org, rppt@kernel.org,
	eric.devolder@oracle.com, chenhuacai@kernel.org,
	vishal.l.verma@intel.com, dave.hansen@linux.intel.com,
	chao.gao@intel.com, pasha.tatashin@soleen.com, bp@alien8.de,
	mark.rutland@arm.com, takahiro.akashi@linaro.org,
	zhangtianyang@loongson.cn, rafael@kernel.org,
	tangyouling@kylinos.cn, graf@amazon.com, ruirui.yang@linux.dev,
	hpa@zytor.com, linux-arm-kernel@lists.infra dead.org,
	maddy@linux.ibm.com
Cc: kexec@lists.infradead.org, ruanjinjie@huawei.com
Subject: Re: [PATCH v6 14/14] crash: Fix TOCTOU race in crash memory range collection
Date: Mon, 21 Sep 2026 09:25:27 +0000	[thread overview]
Message-ID: <20260921092528.17C231F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260921090450.807575-15-ruanjinjie@huawei.com>

> The crash kernel ELF core header construction counts system memory
> ranges via `arch_get_system_nr_ranges()`, allocates the crash_mem
> buffer, and then populates it via `arch_crash_populate_cmem()`.
> This sequence has a time-of-check-to-time-of-use (TOCTOU) race with
> memory hotplug: a concurrent hotplug event between the count
> and populate steps can increase the number of ranges beyond the allocated
> capacity, causing an out-of-bounds write. If the event triggers
> memblock_double_array(), the memblock array can be freed and reallocated
> during iteration, leading to a use-after-free.
> 
> Protect the entire range collection with device_hotplug_lock. Since
> the hotplug notification path already holds that lock, add a lockless
> helper, crash_get_memory_ranges_nolock(), for use there. The regular
> crash_get_memory_ranges() acquires the lock and calls the helper.
> 
> [ ... ]
> Fixes: 3751e728cef2 ("arm64: kexec_file: add crash dump support")
> Fixes: 8acea455fafa ("RISC-V: Support for kexec_file on panic")
> Fixes: 1bcca8620a91 ("LoongArch: Add crash dump support for kexec_file")
> Link: https://sashiko.dev/#/patchset/20260729031235.2840255-1-ruanjinjie%40huawei.com
> 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/20260921090450.807575-1-ruanjinjie@huawei.com?part=14


  reply	other threads:[~2026-09-21  9:25 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 [this message]
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
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=20260921092528.17C231F000FF@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=baoquan.he@linux.dev \
    --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=dead.org@lists.ozlabs.org \
    --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.infra \
    --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=sashiko-reviews@lists.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.