From nobody Sat Sep 26 11:01:23 2026 Received: from mail-pj2-f2.google.com (mail-pj2-f2.google.com [74.125.227.130]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D03FA3DA7F8 for ; Wed, 2 Sep 2026 07:31:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.227.130 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788334308; cv=none; b=Tb551qoN4EDvS0kxjrHYOe57tDQn27qKx08Wq+BsTsi5VWlNZyiae8ECJKOD2bmV60F+DwNXrGzr0Vr/09uH03C1LSGBr0qZ+29tLGqEKCjJZ1X9misESCeNWM4dy7hGltlJo7iTqGsWa5fnBkYVI133G1B96grK2BVqtYAp530= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788334308; c=relaxed/simple; bh=3r50C2QwHvq/Iqle8+nbAe80qqES6U9nJgMPBo2G00I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tBDrFqboTpBlFxXL75jHwnKgT/FalrLoZ6F48SJoIIp4AEXE8Snkl9qk/LcXxYvjFU4H9nkt8nxmNxuHG0uiy7/66dv1c6eK2Acw6x0frzA1h7pVvRMgwzocR3kkgqZfKVhmXFPqdqj6qMVI1rD9td4gOcSFm9pLoe8N44rfQW4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=QxZceyRP; arc=none smtp.client-ip=74.125.227.130 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="QxZceyRP" Received: by mail-pj2-f2.google.com with SMTP id d9443c01a7336-2ccc2e84048so2638225ad.1 for ; Wed, 02 Sep 2026 00:31:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788334306; x=1788939106; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Uqv+RTAI4cJSSsg2qdg0AwAoAqWKAsIT2FLXo2GNbW8=; b=QxZceyRPOPIUIFLCBLQtqe4wRst2Yeeaa3fBDMWtGzCNr5GCmJOwpRRVxNV9Mq7n7S Awfyks7KDTKUwxnb1JSW6JV+0/88ohsknUKqFIMkvW23OBVkUwCrl/H6tc+Z0c7H8c2/ zGl4ILK4vu93n0NvUbdR+/Y3gr6JrGZ44Y7lsSA92dGTj4isBXnuq+1QwhgJI/VRrP57 R7NPZR9Up49bsLw/C4bQ2Jfmq4+a7ucI2XpypfUygJgtbvCGBIXjIPxxO4Fuvv8VUu6M luUleAbmfRGQTAPFX82K3HmuUaJUdKmrpMYnZYOSVHl0rQ2wGC67AG9Dz0RClH99x/lg bRyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788334306; x=1788939106; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=Uqv+RTAI4cJSSsg2qdg0AwAoAqWKAsIT2FLXo2GNbW8=; b=NrcZAH7Js+a22cW85ZAAhlnEvs4Taad9RVuBP5q91uP56zLvmVZuizk1bvQ58LoX8l TEn/tzQeV62fjIJadEhVL1IbFS7xvlDCTI1XKxiCiIqq2fvQIGwppgHyxTC0jhix9G/7 vIO2CFMP8PTNDAb46sm1vbddYkwcLBueRCZLFikszQVb6QMtrQVwfpC4DMVwQzdB5T+s 1wx4Sc9jk502wUwGTY07kn70cBmOTOAbJAFEwVTg1cu0o4tBCD0fzRSunSE0prsKUR9u neL481Jd3n1DBEDC1ihCmV/F67pViimSN9FSXEbVRkz/OHwwQs2bPUbel4pcdtYhfvpx M2+A== X-Forwarded-Encrypted: i=1; AHgh+RqxaI+P9yRt1xndJQdd4fAoDr2dl9exQ7UXP63VP7jNcIb9sPjPdjtfh7tY9s+D9xTKHRYaO4qNvRko8XE=@vger.kernel.org X-Gm-Message-State: AFuF++nlVCGQ9jFOoKomxaQgtsDcP6/xx7QyB/cVRORoZYVJxLdNWVHl vcCboAinHj1m7u6yRxW/NNPVM0MXtdZxn/GyTf2Yif2aYBk1EhmHnNJo X-Gm-Gg: AR+sD126R7CXlxmbsfywxTML100b9Igzg4iYSEBHPK0hxtjL7/owrjRsIpZc4S5m79q KlhSwexkqxE0+fMK8Qc/A6Hs8/AqiPqdEASh9sKh7ol1T6PkY3nD6rWRZUyusRDQnsPhzpZEvlK b5M7n+fgfZWxuMHliWmsxf3vPhTRzl29oHr+99ZM6yInt28Ro98EjGclCXmhQ9sCeAVPxuw+Onm BPHway2Afiu0lKUgZyEGXjTArCQ0WZK6xyjtZpzRbP7Gczj53evq6SPzCkihec1gz15NO9Kydxo C+W/a07zUIf6DaVOUF3yzAOC7FtYvjnuLDgyyAv6497j9b1orZCx/OLI+sZnJzyNqezLhC1NqF3 BihNX399PakU77kTXJ7ylNFteHrRuR70rPdDtxUKoedNu3znhjzxOr8S5Waw1I/OoB161dUH+Pj 5wY9TQwCi39tQ6qkAww5QiSn0LOmHZf7ZfixA5yXt0xzd8mGX98VAWepIt9qaiKKl9YjtnrKf2 X-Received: by 2002:a05:6a20:258e:b0:3d1:39e9:b261 with SMTP id adf61e73a8af0-3d9aa4ca9c0mr4530228637.0.1788334305736; Wed, 02 Sep 2026 00:31:45 -0700 (PDT) Received: from intel.company.local ([122.11.210.25]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-85db2adcbedsm926914b3a.20.2026.09.02.00.31.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Sep 2026 00:31:44 -0700 (PDT) From: Wandun Chen To: catalin.marinas@arm.com, will@kernel.org, chenhuacai@kernel.org, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, tglx@kernel.org, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, robh@kernel.org, saravanak@kernel.org, akpm@linux-foundation.org, baoquan.he@linux.dev, rppt@kernel.org, pasha.tatashin@soleen.com, pratyush@kernel.org, m.szyprowski@samsung.com Cc: mark.rutland@arm.com, kernel@xen0n.name, alex@ghiti.fr, hpa@zytor.com, ruirui.yang@linux.dev, robin.murphy@arm.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, loongarch@lists.linux.dev, linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, kexec@lists.infradead.org, linux-mm@kvack.org, iommu@lists.linux.dev Subject: [PATCH v6 01/10] mm: memblock: add missing HugeTLB flag name Date: Wed, 2 Sep 2026 15:31:07 +0800 Message-ID: <20260902073116.802752-2-chenwandun1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260902073116.802752-1-chenwandun1@gmail.com> References: <20260902073116.802752-1-chenwandun1@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Meijing Zhao Commit 7d163a75f821 ("memblock: make HugeTLB bootmem allocation work with KHO") added MEMBLOCK_RSRV_HUGETLB but did not add the corresponding entry to flagname[]. As a result, memblock debugfs cannot report the flag by name. Add the missing RSV_HUGETLB entry. Fixes: 7d163a75f821 ("memblock: make HugeTLB bootmem allocation work with K= HO") Signed-off-by: Meijing Zhao Signed-off-by: Wandun Chen Link: https://lore.kernel.org/lkml/20260821020910.3428585-2-zhaomeijing100@= gmail.com/ --- mm/memblock.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mm/memblock.c b/mm/memblock.c index 9ce86349a29f..f2952d725c10 100644 --- a/mm/memblock.c +++ b/mm/memblock.c @@ -2886,6 +2886,7 @@ static const char * const flagname[] =3D { [ilog2(MEMBLOCK_RSRV_NOINIT)] =3D "RSV_NIT", [ilog2(MEMBLOCK_RSRV_KERN)] =3D "RSV_KERN", [ilog2(MEMBLOCK_KHO_SCRATCH)] =3D "KHO_SCRATCH", + [ilog2(MEMBLOCK_RSRV_HUGETLB)] =3D "RSV_HUGETLB", }; =20 static int memblock_debug_show(struct seq_file *m, void *private) --=20 2.43.0 From nobody Sat Sep 26 11:01:23 2026 Received: from mail-pz2-f10.google.com (mail-pz2-f10.google.com [74.125.228.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E895B3E171E for ; Wed, 2 Sep 2026 07:31:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.228.10 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788334322; cv=none; b=sce5ZioLxzICrRVsPYRo0LvfXPmsHq2lrBTGEGHtI3GgIfHBgkpMjUDy6EZ+dsjlqzk+UKMgJvJvJbmC3YlDBDoTHPdQmut2Yx3jmfQPbDzbFmJAcikF79UmA9kzV2uFSm9kQzkPKB5DrLt3zJEtmMVxYGHn/DPKdkUFXgqgbyY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788334322; c=relaxed/simple; bh=WTLR5meVohzCgam1peUGWMX1J+RDsSRr7L+2QxILnVo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=pCPbpLRqtIOtAmoTkUDW7hTX2AFf4jdftdhx6EKOFEOzq77dVsbm+k4MeMmUJ+ZlFbEiygsb3/rkqDNE0LrinKL5/XtTuMjkpmutdoYL4X0EobOZa/BnhbRPGzcV5teNfTxuCT2NQWlKcCqBx2feMVbhPf9I5hSzpOcBmWnP2nU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=binadJ73; arc=none smtp.client-ip=74.125.228.10 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="binadJ73" Received: by mail-pz2-f10.google.com with SMTP id 41be03b00d2f7-cc1c753b1bbso175883a12.1 for ; Wed, 02 Sep 2026 00:31:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788334319; x=1788939119; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=cEYvUbaRHsvrLqexK6TwRNN/GB2ra0YD4DknJvJHsJI=; b=binadJ73VCiV2W9HJyPUtyMD9JGMyhJZnthozF1Z74PofW32s6et5JwjpV0jP37qy+ lMx+zcg39tmBb8hF7ihQ5tfboBZDUdO4E49PLIn/GbMGgwX82exQEE2hmHxWcd1IkTKt Wzn+cLMCMJBso4qmLVWy+S7a6kZK0QBCxkc8t5RHt1MXs5PcLY2+2HBMz615FMjqa48D 2vJeo035hzEsvK6rKOoJl6D5ZcVTYdTJXkW8IKJHXqc7ToX/RIWgIq0aYmcyhnNM2ZVO PxtMCb6+FtDfcIR/H4g0I/aJzxyoGEfBYmj+9Yolpnw1GeS6vuWMjQdj88fGn8VfIQkG Zgsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788334319; x=1788939119; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=cEYvUbaRHsvrLqexK6TwRNN/GB2ra0YD4DknJvJHsJI=; b=eO4ak6VaSVCZOhEi6CSKwsGBsj/Vbt2s4uFdiNb8ek35uZl/F+vO7/6tNOz2cRpPWq /vQuNdwNAvOphPXyun4CoAyJKpW5Ri7ioKxkMoXrIwKvR31gGFGcL85ZAD29ZK59fBcf Ln/IKfl23QVkM3qCuN89HkVz5BnjIvQ/fJPe3PGVnJiQKKqN+rp7TWifFACKrcTWbOGk qVbujML6rZYLvdTz8CE55PbLn+7QlTq+cE0GmCcYqUrjsnmfOS++T+FnqzvPv5GTi17t Af3grW7fh5mVaEpmC2bR/YOXvv/Nb2hAUdecFIrtDh7SVaajFHe4RnheOFZtwhoHAJoB 72wg== X-Forwarded-Encrypted: i=1; AKwUvBwEVJONt18AyKVW9zcEf2ivtScLF/lqsV9zR4aQGl50BKuM4khsIwZbDSm1uCxNoM8MpRgTVKuVE6Kc7u0=@vger.kernel.org X-Gm-Message-State: AFuF++lhgzVmmm25JbVR5YtLH14NBHYzK0OrcCko51xlTtxNjybN8/HF BOE4w29qdbAOu8Q2b/CKrjTHX2Mq8yPnn7d/6Mqb+WGz2RJg+rWup8o5 X-Gm-Gg: AYBFou3m/w46Ee984U6lkSc8kCDNNes+OntPmeYwCGrpArDnF6vcVPAYNPwubZftjFc wizEQqrqOnm+oOBzJNLsYkykub0tEFswWfMQZij1vTXWHC9U6vlcGGHc99tgVmFYSaCctOm1D8X mtShhMFSrt/tu5FealzSTBiq2jPr7Zifl7BQHYJZQl2XZSJzDCnV4Jc1UVRCV2MRmgS3GOXMA9i pbHtMWcTVuEdDPHS9mzUXlyjNc+Yis/PZpSKePatzglqiL9ZOxP85+OE21SWy77tKUamstjJLiC 9woph7wLltQQePvTH864ltJZw44OnR5sAMY8Awo5foBlzjvveaAyvdgrRpdV7gzoIgebehYUuRp kLSq094Ab/4oaSRaLJWVQPVOrGpvH3pkxB/sI6Oe1b9nYIUu55CmmxLvHqobAgsG1rBH0UBVIH2 gWS9za/+WTVwGoYUb+XDqo2NBtzzSb3tnAuinUGJ87bElFAZckRqUUAiNwiR3RqBwtK+LQKfa2 X-Received: by 2002:a05:6a00:4188:b0:857:7384:b5fc with SMTP id d2e1a72fcca58-85ed4d137e7mr5136737b3a.24.1788334319386; Wed, 02 Sep 2026 00:31:59 -0700 (PDT) Received: from intel.company.local ([122.11.210.25]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-85db2adcbedsm926914b3a.20.2026.09.02.00.31.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Sep 2026 00:31:58 -0700 (PDT) From: Wandun Chen To: catalin.marinas@arm.com, will@kernel.org, chenhuacai@kernel.org, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, tglx@kernel.org, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, robh@kernel.org, saravanak@kernel.org, akpm@linux-foundation.org, baoquan.he@linux.dev, rppt@kernel.org, pasha.tatashin@soleen.com, pratyush@kernel.org, m.szyprowski@samsung.com Cc: mark.rutland@arm.com, kernel@xen0n.name, alex@ghiti.fr, hpa@zytor.com, ruirui.yang@linux.dev, robin.murphy@arm.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, loongarch@lists.linux.dev, linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, kexec@lists.infradead.org, linux-mm@kvack.org, iommu@lists.linux.dev Subject: [PATCH v6 02/10] riscv: build crash_mem ranges from memblock instead of resource tree Date: Wed, 2 Sep 2026 15:31:08 +0800 Message-ID: <20260902073116.802752-3-chenwandun1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260902073116.802752-1-chenwandun1@gmail.com> References: <20260902073116.802752-1-chenwandun1@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Wandun Chen Replace walk_system_ram_res() with for_each_mem_range(). A later patch introduces MEMBLOCK_NODUMP in memblock, the reserved-memory regions marked with MEMBLOCK_NODUMP can be excluded from the vmcore by walking memblock. for_each_mem_range() iterates memblock.memory, which is freed after init unless ARCH_KEEP_MEMBLOCK is selected. riscv needs ARCH_KEEP_MEMBLOCK to filter reserved memory from the vmcore, so extend its condition (ACPI || KEXEC) with CRASH_DUMP. arm64 and loongarch already select ARCH_KEEP_MEMBLOCK unconditionally. Signed-off-by: Wandun Chen Tested-by: Meijing Zhao Acked-by: Baoquan He --- arch/riscv/Kconfig | 2 +- arch/riscv/kernel/machine_kexec_file.c | 31 ++++++++++---------------- 2 files changed, 13 insertions(+), 20 deletions(-) diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index d6c2dbf8455c..1de14a2d5aba 100644 --- a/arch/riscv/Kconfig +++ b/arch/riscv/Kconfig @@ -58,7 +58,7 @@ config RISCV select ARCH_HAS_UBSAN select ARCH_HAS_VDSO_ARCH_DATA select ARCH_HAVE_NMI_SAFE_CMPXCHG - select ARCH_KEEP_MEMBLOCK if ACPI || KEXEC + select ARCH_KEEP_MEMBLOCK if ACPI || KEXEC || CRASH_DUMP select ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE if 64BIT && MMU select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT diff --git a/arch/riscv/kernel/machine_kexec_file.c b/arch/riscv/kernel/mac= hine_kexec_file.c index 26cd2a8bd0cd..808e872f4063 100644 --- a/arch/riscv/kernel/machine_kexec_file.c +++ b/arch/riscv/kernel/machine_kexec_file.c @@ -37,39 +37,32 @@ int arch_kimage_file_post_load_cleanup(struct kimage *i= mage) } =20 #ifdef CONFIG_CRASH_DUMP -static int get_nr_ram_ranges_callback(struct resource *res, void *arg) -{ - unsigned int *nr_ranges =3D arg; - - (*nr_ranges)++; - return 0; -} - unsigned int arch_get_system_nr_ranges(void) { unsigned int nr_ranges =3D 2 + crashk_cma_cnt; /* For exclusion of crashk= ernel region */ + u64 i; + phys_addr_t start, end; =20 - walk_system_ram_res(0, -1, &nr_ranges, get_nr_ram_ranges_callback); + for_each_mem_range(i, &start, &end) + nr_ranges++; =20 return nr_ranges; } =20 -static int prepare_elf64_ram_headers_callback(struct resource *res, void *= arg) +int arch_crash_populate_cmem(struct crash_mem *cmem) { - struct crash_mem *cmem =3D arg; + u64 i; + phys_addr_t start, end; =20 - cmem->ranges[cmem->nr_ranges].start =3D res->start; - cmem->ranges[cmem->nr_ranges].end =3D res->end; - cmem->nr_ranges++; + for_each_mem_range(i, &start, &end) { + cmem->ranges[cmem->nr_ranges].start =3D start; + cmem->ranges[cmem->nr_ranges].end =3D end - 1; + cmem->nr_ranges++; + } =20 return 0; } =20 -int arch_crash_populate_cmem(struct crash_mem *cmem) -{ - return walk_system_ram_res(0, -1, cmem, prepare_elf64_ram_headers_callbac= k); -} - static char *setup_kdump_cmdline(struct kimage *image, char *cmdline, unsigned long cmdline_len) { --=20 2.43.0 From nobody Sat Sep 26 11:01:23 2026 Received: from mail-pz2-f11.google.com (mail-pz2-f11.google.com [74.125.228.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E8B473CFF73 for ; Wed, 2 Sep 2026 07:32:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.228.11 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788334334; cv=none; b=XLLneKx1YxRvbSWNmIfNU35YDOc4ZmZSj9c1+bubIZFTcJZuJm/invCdxDXbAEhO8VdaG65iyWcV2l6SALFf9/ho8+0zDGGVkfxswdj/F9CMNMRABFJk39vBBakLGAvbvpYiiCfsmGbirygm4OUm+ZiRdZeEQSj8l9PCfH4FaWU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788334334; c=relaxed/simple; bh=Uy+S5EN2uCcSnsThdW2ceNI4zRwMNv9qI2gNHXNwLyU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=S6fnF6LkqnN5tJysOhCblQqqwgwBVCILHxMN2ln2Qg2X29RcnV/qRviMBS3Z8KtevdpN/60wrfulLTBqSXlM4djwKcPhB1dxJJ6dtv8qSL0LzU6H3UIn3MIUCjbvtibzXnrwm92OOYzH3kUJNA7vJF0OpbBTAGcobzNS2xbPjpA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=MgMHowmM; arc=none smtp.client-ip=74.125.228.11 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="MgMHowmM" Received: by mail-pz2-f11.google.com with SMTP id 41be03b00d2f7-cc1c2963c92so224513a12.0 for ; Wed, 02 Sep 2026 00:32:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788334332; x=1788939132; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=+1lPJGPvZxlgDVbSkkI+j7mcGDHCDt5YKPntydBISgc=; b=MgMHowmMBsEAGFoogMKJoqUGg2VcIbQlCh8XXma75Pt2oZKfA5yJYIclQRyyBJlhkY J1g+l74jchnaJBQNsMaeBibPpgK+5dYGPCbeoIfYQIVfxYkjTALFHx1lJUD5fmtoOtcW KdUyaU0A8krX+R1jloj58DC2yHsbVZzTD8K5Be/i8h+En3MQH9HGXMDQS5kgOMB/0zsU 0mnJa13M3K6x6hs/U3cwKQGoi0ZRs9jcz81xeozLGNocwQdvsUXTNfMQ/n/QQ3YCHiP/ g0MK50ms6HAv31ftQuVKU+R7l3s5hQ9nkPvzTdjSr8amUxqgN/GVkRxL+aHIW+WL0ZIG pJEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788334332; x=1788939132; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=+1lPJGPvZxlgDVbSkkI+j7mcGDHCDt5YKPntydBISgc=; b=GWJ2YbojctFGvkZOwyGYV23OjJ8w+bphB2I8c2G+6C9N1Lyq9Jj8SZbEbUXk94wjQI GFecdnQwUXOowBPLlj2dfl+6C/dQJaet39n9iytqEXdpoK2Aiz0BrbKk81UYpBhntgUj SjHowhxOHtcYw+d2AjpEPgfjyyTrPwv8QcG1ruQr4WK60sK818iNWikE/1uuCp9Fys2q 0foNdLOl8tJkng+1K2qeMHUGKGlN9qQ417l+9H9Uu86/elwDEJpubqqZ6Do2M1oD5RvL Q52iIv+PEM+RW3Bv5PzF/l1ieJlnc6qkMFUcBNIRtu4e/mAon+KXcekLaYBnjqZ/w0hu hSsg== X-Forwarded-Encrypted: i=1; AKwUvBxUJXWRAs1aT6UdTRfJ/G/jYHzXBtNTxS3sVBDyrNJuNtDmrmYlgOnycbQoNUmr2YUXj8ND6sqUDgc4+wE=@vger.kernel.org X-Gm-Message-State: AFuF++kWYW0njiTgRYBntDVvcqBfzCgXVhp8j1XIxjkk9yS9TfRp+LhL irX4j2y5pLgT44RUzVARy3b0rAvxCq9JEwJQ9P8WqO0pQntb6GFvf4dk X-Gm-Gg: AYBFou2NNNNjvm2pmfTw1EO9i02qPUZhmKeJuSNff3rmcNDuEE/UqkKtberjB27V8Q+ vPUMi0aK5bUWmLwVzkPY0qviW5Lg2j5dKxl4V3XnAhbm0LUcK0xdnT1/owhcWLD2caXNtmCTnmR KaxsfgFW8skTI9ANFBlVqWu280euQbCIUCWEqBTfbcpL6UH8SZ727ui5Zs54rVk7CKeAOV+9H6+ gUN51JXc/yzu6cYwa7fDSwe+XpYPig+BS3DkaAEzRonxK+4Ulu94CzTBWuAd6i49DM7phCCps1G kudwMYGhn54lvvKZTKLMfsEq304MpxxLgde9Nuvyu4TPxQFUW7FAGuRWA1VTXPjomAetAS1OO5/ WYzff0h9cLPP09eYfcl2h99BFlOBeie75NzfoR0KLv0jaXY+rw4YvdkJRoyjEBUkq1Z9sqBCxsG R6alrOUBJ0AvV0PPVg5mYdk8IelZY3bWg4Z3L6BDzBMqX4Ul0JXL2jvNEvQLuLp6AdmzR/N1YMg 16ngTMlRW0= X-Received: by 2002:a05:6a00:1c9e:b0:857:73e2:9104 with SMTP id d2e1a72fcca58-85ed94bb41amr4709226b3a.20.1788334332169; Wed, 02 Sep 2026 00:32:12 -0700 (PDT) Received: from intel.company.local ([122.11.210.25]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-85db2adcbedsm926914b3a.20.2026.09.02.00.31.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Sep 2026 00:32:11 -0700 (PDT) From: Wandun Chen To: catalin.marinas@arm.com, will@kernel.org, chenhuacai@kernel.org, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, tglx@kernel.org, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, robh@kernel.org, saravanak@kernel.org, akpm@linux-foundation.org, baoquan.he@linux.dev, rppt@kernel.org, pasha.tatashin@soleen.com, pratyush@kernel.org, m.szyprowski@samsung.com Cc: mark.rutland@arm.com, kernel@xen0n.name, alex@ghiti.fr, hpa@zytor.com, ruirui.yang@linux.dev, robin.murphy@arm.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, loongarch@lists.linux.dev, linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, kexec@lists.infradead.org, linux-mm@kvack.org, iommu@lists.linux.dev Subject: [PATCH v6 03/10] crash_core: fold duplicated memblock arch hooks into the weak default Date: Wed, 2 Sep 2026 15:31:09 +0800 Message-ID: <20260902073116.802752-4-chenwandun1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260902073116.802752-1-chenwandun1@gmail.com> References: <20260902073116.802752-1-chenwandun1@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Wandun Chen arm64, loongarch and riscv open-code the same memblock walk in arch_get_system_nr_ranges() and arch_crash_populate_cmem(). Move it into the __weak defaults in kernel/crash_core.c and delete the arch copies. No functional change. Signed-off-by: Wandun Chen Tested-by: Meijing Zhao Acked-by: Baoquan He --- arch/arm64/kernel/machine_kexec_file.c | 29 ---------------------- arch/loongarch/kernel/machine_kexec_file.c | 27 -------------------- arch/riscv/kernel/machine_kexec_file.c | 26 ------------------- kernel/crash_core.c | 25 +++++++++++++++++-- 4 files changed, 23 insertions(+), 84 deletions(-) diff --git a/arch/arm64/kernel/machine_kexec_file.c b/arch/arm64/kernel/mac= hine_kexec_file.c index 854d872dfd0f..34d944d3f22f 100644 --- a/arch/arm64/kernel/machine_kexec_file.c +++ b/arch/arm64/kernel/machine_kexec_file.c @@ -14,7 +14,6 @@ #include #include #include -#include #include #include #include @@ -39,34 +38,6 @@ int arch_kimage_file_post_load_cleanup(struct kimage *im= age) return kexec_image_post_load_cleanup_default(image); } =20 -#ifdef CONFIG_CRASH_DUMP -unsigned int arch_get_system_nr_ranges(void) -{ - unsigned int nr_ranges =3D 2 + crashk_cma_cnt; /* for exclusion of crashk= ernel region */ - phys_addr_t start, end; - u64 i; - - for_each_mem_range(i, &start, &end) - nr_ranges++; - - return nr_ranges; -} - -int arch_crash_populate_cmem(struct crash_mem *cmem) -{ - phys_addr_t start, end; - u64 i; - - for_each_mem_range(i, &start, &end) { - cmem->ranges[cmem->nr_ranges].start =3D start; - cmem->ranges[cmem->nr_ranges].end =3D end - 1; - cmem->nr_ranges++; - } - - return 0; -} -#endif - /* * Tries to add the initrd and DTB to the image. If it is not possible to = find * valid locations, this function will undo changes to the image and retur= n non diff --git a/arch/loongarch/kernel/machine_kexec_file.c b/arch/loongarch/ke= rnel/machine_kexec_file.c index 5412aa9f3568..481b8f906a56 100644 --- a/arch/loongarch/kernel/machine_kexec_file.c +++ b/arch/loongarch/kernel/machine_kexec_file.c @@ -13,7 +13,6 @@ #include #include #include -#include #include #include #include @@ -56,32 +55,6 @@ static void cmdline_add_initrd(struct kimage *image, uns= igned long *cmdline_tmpl } =20 #ifdef CONFIG_CRASH_DUMP -unsigned int arch_get_system_nr_ranges(void) -{ - int nr_ranges =3D 2; /* for exclusion of crashkernel region */ - phys_addr_t start, end; - uint64_t i; - - for_each_mem_range(i, &start, &end) - nr_ranges++; - - return nr_ranges; -} - -int arch_crash_populate_cmem(struct crash_mem *cmem) -{ - phys_addr_t start, end; - uint64_t i; - - for_each_mem_range(i, &start, &end) { - cmem->ranges[cmem->nr_ranges].start =3D start; - cmem->ranges[cmem->nr_ranges].end =3D end - 1; - cmem->nr_ranges++; - } - - return 0; -} - /* * Add the "mem=3Dsize@start" command line parameter to command line, indi= cating the * memory region the new kernel can use to boot into. diff --git a/arch/riscv/kernel/machine_kexec_file.c b/arch/riscv/kernel/mac= hine_kexec_file.c index 808e872f4063..fdc6695e8588 100644 --- a/arch/riscv/kernel/machine_kexec_file.c +++ b/arch/riscv/kernel/machine_kexec_file.c @@ -37,32 +37,6 @@ int arch_kimage_file_post_load_cleanup(struct kimage *im= age) } =20 #ifdef CONFIG_CRASH_DUMP -unsigned int arch_get_system_nr_ranges(void) -{ - unsigned int nr_ranges =3D 2 + crashk_cma_cnt; /* For exclusion of crashk= ernel region */ - u64 i; - phys_addr_t start, end; - - for_each_mem_range(i, &start, &end) - nr_ranges++; - - return nr_ranges; -} - -int arch_crash_populate_cmem(struct crash_mem *cmem) -{ - u64 i; - phys_addr_t start, end; - - for_each_mem_range(i, &start, &end) { - cmem->ranges[cmem->nr_ranges].start =3D start; - cmem->ranges[cmem->nr_ranges].end =3D end - 1; - cmem->nr_ranges++; - } - - return 0; -} - static char *setup_kdump_cmdline(struct kimage *image, char *cmdline, unsigned long cmdline_len) { diff --git a/kernel/crash_core.c b/kernel/crash_core.c index 2b36aa9fade0..77285ae3ce60 100644 --- a/kernel/crash_core.c +++ b/kernel/crash_core.c @@ -281,8 +281,29 @@ static struct crash_mem *alloc_cmem(unsigned int nr_ra= nges) return cmem; } =20 -unsigned int __weak arch_get_system_nr_ranges(void) { return 0; } -int __weak arch_crash_populate_cmem(struct crash_mem *cmem) { return -1; } +unsigned int __weak arch_get_system_nr_ranges(void) +{ + unsigned int nr_ranges =3D 2 + crashk_cma_cnt; /* crashk_res + crashk_low= _res, +CMA splits */ + phys_addr_t start, end; + u64 i; + + for_each_mem_range(i, &start, &end) + nr_ranges++; + return nr_ranges; +} + +int __weak arch_crash_populate_cmem(struct crash_mem *cmem) +{ + phys_addr_t start, end; + u64 i; + + for_each_mem_range(i, &start, &end) { + cmem->ranges[cmem->nr_ranges].start =3D start; + cmem->ranges[cmem->nr_ranges].end =3D end - 1; + cmem->nr_ranges++; + } + return 0; +} int __weak arch_crash_exclude_ranges(struct crash_mem *cmem) { return 0; } =20 int __weak arch_crash_exclude_mem_range(struct crash_mem **mem, --=20 2.43.0 From nobody Sat Sep 26 11:01:23 2026 Received: from mail-pz2-f0.google.com (mail-pz2-f0.google.com [74.125.228.0]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D782F3B47C9 for ; Wed, 2 Sep 2026 07:32:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.228.0 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788334348; cv=none; b=WtWjOodwwpFtoj285/hLjreQ0TbAU/YGd++Nad6q27ewNC43jf3AdLnlC9bovCq876LKKJzl0/zwN/ESMIupfqBKqFwQf/tgbMRpXcVyugKfc2xWrSvDEPBJjqbzHNEa4EYIwDz2hrhUJtcFuLMMuPJuD0XdlK76wzsbS8xlWSg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788334348; c=relaxed/simple; bh=Y6IX8/0lLvnQsuCIT3ysVkmxDeCp9TsVFX+CxW/Z7ZQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=MmXhnNmsmQ45BPey5g3vbmFERNchj4euz1V682ft4Q+eIuu+4jlXJB9Kc4PFIbhYmzeKUe1ZNVwxHrtg5OB8sqenbIASvOoHjevgYLifJeRhNAYYCjHubJV16zu+5bmERA6LB40P979uxX4+AcCn91kTpA9WowABdgbLWHtiu2w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Wq8+Lw2S; arc=none smtp.client-ip=74.125.228.0 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Wq8+Lw2S" Received: by mail-pz2-f0.google.com with SMTP id 41be03b00d2f7-ca7fcfe1669so413499a12.0 for ; Wed, 02 Sep 2026 00:32:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788334345; x=1788939145; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Cwr70l9V39DZcorg71LVRPBxIRt7bXPqTCF0S2pUJMg=; b=Wq8+Lw2Sy6oxptoeLoRVy05T4J52rW+Hf8H/j9h055yyAF/eEokcINZe4hdP9mjd17 /hbiuTuAESY6aLdlWAWDykpuluZxlPKXZRmvaXypsODiEG/vuSfYCjF+EdgrqSaEzcpg SWr2s+0jPx4jOHxlTnf+dI57sxOiqSwgVVGgrrOmvwkrLTuSIoUVIo2kgwO7AyvBh1rc 0b0usJYtFgL8PNR5XevjF7r5bHq1Ra5FEmeC1XK4ZWGFgaaunNtJDi4AL5S2Y5ePRorR LIR0FwtIrya87Q+C+zYBLn1xmoOfbdDA2141UAsX5vCfwfBcWmpQxh03q1uJYzmZle4Y ibmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788334345; x=1788939145; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=Cwr70l9V39DZcorg71LVRPBxIRt7bXPqTCF0S2pUJMg=; b=cy9lXSgzaTBorPR5Yt/5W/x+2yOptBAvgInYZhfRCATSbdugK8I7OqJcTf1iTl6FEr 0FOLpC8nral1CWC3pealkgpDle2QoZwtw7Btw6b/6K3Hj6C7XKgz8b80zsCbVktxkYcr 3PTlU9zwFMSUDrwc6EHQT9DEd0Guev3BzKJFfsLTcGzPgKi/N//rE0OPzbY1cytmEFCR qZjwlB8X3E2/IqTF++vE5pIDC/jW81eMFiPdn3q5ZChkbk6C/fsR3n12hbXMMFy7KYpA /NdCay41otCociBB6Yc6+2Ygybv+/4CPcXkk/XBfZoOI/EbTtoioHjwDTFlBpCa2Ba2z 6RlQ== X-Forwarded-Encrypted: i=1; AKwUvBwqOmbtrzaCtA2pzAtR1dcIVMFgYIcYQpqMZvdtqL81BBOamR7H+ZesGbAxeGCZlgY0SI4Q94oTe5pgymk=@vger.kernel.org X-Gm-Message-State: AFuF++nakVGNBNAjPEwYKw+EboPXC4sX3o2CjCavrBOBAm71NVB4Vsv8 xkvyQEttZkpNnu9EpPTUNUvr1yFYadJmLn2YAHnMguHDV/bbQNV6woY+ X-Gm-Gg: AYBFou0hTYX/opG4FxBybowHB8d0q2OLAaeqxVFY7ZQ5s9ris6qe2IO32Xs07sFvxk0 Jus+jlKASGVPioosRPLpZEHQqjivrtHS07eaH3uRRp4uCkDGD9LJikdSe5kCD8cr4BVx5qINboQ kJ57R54EkGCzTYTAsdrp4vJdMwXFY1GcBJoxuVMMFvAMt7qq5kmQi8jV2212sfHjGnJFTTTTpeF vx13yIpLEOsSR+klHmug7xSUvcttF71CX6+tAojJGSvoDEKqwZZxtSINEWpqgHvLM3Qx170u3ze 6EFTz5RMomxU6E5buah7GaUk0llvvWXzfre9JfNUhw5IBExoC+xV0wJ92CWxhtm/VwRO4rqT65S K3kbhjW/LUq38qWXkVWKgVwvXp7/nQ+4Pi8j1vDTS8TAFkmaZ/ipv1R7bb9n1Y+ng++Wib8sMfq UFzGDdLoFGOctNxZL4jpE1l1AtN6iZqAX5caDpExyxp82BeOamIzp/geE9VMBNh5OQyPyL3TsXU Pq5JR1342k= X-Received: by 2002:a05:6a00:238b:b0:85c:c8db:8e4b with SMTP id d2e1a72fcca58-85ed23dea9emr4650515b3a.6.1788334344871; Wed, 02 Sep 2026 00:32:24 -0700 (PDT) Received: from intel.company.local ([122.11.210.25]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-85db2adcbedsm926914b3a.20.2026.09.02.00.32.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Sep 2026 00:32:24 -0700 (PDT) From: Wandun Chen To: catalin.marinas@arm.com, will@kernel.org, chenhuacai@kernel.org, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, tglx@kernel.org, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, robh@kernel.org, saravanak@kernel.org, akpm@linux-foundation.org, baoquan.he@linux.dev, rppt@kernel.org, pasha.tatashin@soleen.com, pratyush@kernel.org, m.szyprowski@samsung.com Cc: mark.rutland@arm.com, kernel@xen0n.name, alex@ghiti.fr, hpa@zytor.com, ruirui.yang@linux.dev, robin.murphy@arm.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, loongarch@lists.linux.dev, linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, kexec@lists.infradead.org, linux-mm@kvack.org, iommu@lists.linux.dev Subject: [PATCH v6 04/10] crash_core: serialize crash header preparation against hotplug Date: Wed, 2 Sep 2026 15:31:10 +0800 Message-ID: <20260902073116.802752-5-chenwandun1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260902073116.802752-1-chenwandun1@gmail.com> References: <20260902073116.802752-1-chenwandun1@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Wandun Chen crash_prepare_headers() counts memory ranges before populating the allocated crash_mem array. The weak implementation used by ARM64, RISC-V and LoongArch walks memblock.memory, while x86 performs the same two-pass operation over system RAM resources. Concurrent memory hotplug can change range source between the two walks and make the populate pass overflow cmem->ranges. Take device_hotplug_lock when preparing crash headers during kexec_file_load(). The x86 memory hotplug path already takes device_hotplug_lock, so call __crash_prepare_headers() directly to avoid recursive locking. Sashiko reported this issue in [1]. Fixes: 3751e728cef2 ("arm64: kexec_file: add crash dump support") Fixes: 1bcca8620a91 ("LoongArch: Add crash dump support for kexec_file") Fixes: 8acea455fafa ("RISC-V: Support for kexec_file on panic") Fixes: dd5f726076cc ("kexec: support for kexec on panic using new system ca= ll") Signed-off-by: Wandun Chen Link: https://sashiko.dev/#/message/20260806101002.1F84E1F000E9@smtp.kernel= .org [1] Acked-by: Baoquan He --- arch/x86/kernel/crash.c | 2 +- include/linux/crash_core.h | 2 ++ kernel/crash_core.c | 17 +++++++++++++++-- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/arch/x86/kernel/crash.c b/arch/x86/kernel/crash.c index e681ec9cf1dc..284d78bc3fd0 100644 --- a/arch/x86/kernel/crash.c +++ b/arch/x86/kernel/crash.c @@ -465,7 +465,7 @@ void arch_crash_handle_hotplug_event(struct kimage *ima= ge, void *arg) * Create the new elfcorehdr reflecting the changes to CPU and/or * memory resources. */ - if (crash_prepare_headers(IS_ENABLED(CONFIG_X86_64), &elfbuf, &elfsz, NUL= L)) { + if (__crash_prepare_headers(IS_ENABLED(CONFIG_X86_64), &elfbuf, &elfsz, N= ULL)) { pr_err("unable to create new elfcorehdr"); goto out; } diff --git a/include/linux/crash_core.h b/include/linux/crash_core.h index bc087124cd78..28e7a81cf263 100644 --- a/include/linux/crash_core.h +++ b/include/linux/crash_core.h @@ -61,6 +61,8 @@ extern int crash_prepare_elf64_headers(struct crash_mem *= mem, int need_kernel_ma void **addr, unsigned long *sz); extern int crash_prepare_headers(int need_kernel_map, void **addr, unsigned long *sz, unsigned long *nr_mem_ranges); +int __crash_prepare_headers(int need_kernel_map, void **addr, unsigned lon= g *sz, + unsigned long *nr_mem_ranges); extern int crash_exclude_core_ranges(struct crash_mem **cmem); =20 struct kimage; diff --git a/kernel/crash_core.c b/kernel/crash_core.c index 77285ae3ce60..3adee1ae120c 100644 --- a/kernel/crash_core.c +++ b/kernel/crash_core.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -338,8 +339,8 @@ int crash_exclude_core_ranges(struct crash_mem **cmem) return 0; } =20 -int crash_prepare_headers(int need_kernel_map, void **addr, unsigned long = *sz, - unsigned long *nr_mem_ranges) +int __crash_prepare_headers(int need_kernel_map, void **addr, unsigned lon= g *sz, + unsigned long *nr_mem_ranges) { unsigned int max_nr_ranges; struct crash_mem *cmem; @@ -376,6 +377,18 @@ int crash_prepare_headers(int need_kernel_map, void **= addr, unsigned long *sz, return ret; } =20 +int crash_prepare_headers(int need_kernel_map, void **addr, unsigned long = *sz, + unsigned long *nr_mem_ranges) +{ + int ret; + + lock_device_hotplug(); + ret =3D __crash_prepare_headers(need_kernel_map, addr, sz, nr_mem_ranges); + unlock_device_hotplug(); + + return ret; +} + /** * crash_exclude_mem_range - exclude a mem range for existing ranges * @mem: mem->range contains an array of ranges sorted in ascending order --=20 2.43.0 From nobody Sat Sep 26 11:01:23 2026 Received: from mail-pz2-f11.google.com (mail-pz2-f11.google.com [74.125.228.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C3D143DA7F8 for ; Wed, 2 Sep 2026 07:32:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.228.11 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788334360; cv=none; b=h4+ge3zmCFtB02y3pRk7SgmDXOexh3gvkjJHoKGgH/2/UuFjMxrTyfUMnWzrEaSvlmp5MlwULKIn6d8Cy+i7Bxu7PAqLFNCFvn3X3pIdxD3EGn6PM3muj4K81cJ9RgN5BW4z/PSxCEN/5n+k6S6XZvIRJXaEtKx/B/cscq55aXE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788334360; c=relaxed/simple; bh=M8mUvhcvfnEDBFtUc0VuhdtpXKf34yjgQcgAYje1vMc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=UAZYX71mpREdBmtEnMLjnSqVHEgSCXGNDnK70H6p0QVMKBDRi1c7Ia2n8+DZbdR+ji91/UZUKUvtEhC/0QvnRPJ46lQ4ZB2gKmbP4ZqImD93jN3O9/EAYwm3VgvkNanxmwQLYzPM9qI/KLkkDExdqbapvLx0esYgujeMLe7xLII= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=YzZg0Wna; arc=none smtp.client-ip=74.125.228.11 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="YzZg0Wna" Received: by mail-pz2-f11.google.com with SMTP id 41be03b00d2f7-cc1c2963c92so224843a12.0 for ; Wed, 02 Sep 2026 00:32:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788334358; x=1788939158; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=QDn9kL+O/DcgCowWQhzjL1E+vRjYGvPyhLWTC672vfE=; b=YzZg0Wna5gJnKaCf9lWOoi9J7I3wUtHq1dqQfC3TyBDb8bt/7ndDBeNqYPaHp2uExg jdo5smfULVmXi8Tsf3nLy+R2WUaG6cySSVMScc3o5o5GWbwPkvVeEvrajk/vaEXlEli9 CQVg/7MgMnYXFBYmWFoL1MoAiUniDngJvXDwJij5erdJRobP96jjIV/7O7BaNOgYZ0Xp WlKeS33l13/6/sylnqW4cyeJl1V1Atm8HqAUgIA4zsmPhY7OSaPS1vSJ9zZMXpkUx8bC Xo5eYVa27j+vOEfJNPbeWxl9drw00ZTwJJ3j+VMBsNM7UdQOCCdYP8EK+E1BjUrWZ+Qn aDEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788334358; x=1788939158; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=QDn9kL+O/DcgCowWQhzjL1E+vRjYGvPyhLWTC672vfE=; b=jxmgPobD02gM14gAe22cX9i5BYpB+9xSadWJlqnGF2SkOp4kP1DyEMa2FiSpkVp87w Dp9x8ERW2rocpG98UhjHyLDpmY4irjuUZz0YetumXVxBtdN4yES+LCiicYnOsKJ9d6io 5CUatcoGJy5Z8JigDBxAuQWmAGLlcQUw40X8uc5Suj32YQbeSnupUBNkEiQsMyCUggF9 pzyaiHHXI9VgOYmOvJt1acWkg6QtP6+wR0JrVBOzyYfZXge85fWYcvr/wr3ROXkr4obQ V/g47JYDYVNZ5VWCCgLZpRkpUONLH+V66usStoGfPNZ4JyQs5zcd+mZqvkSG4x7vlEAk GkNA== X-Forwarded-Encrypted: i=1; AKwUvBwLmLo1qBDtG04whlnM3//FdGV7QmcpG5I2XoKg7XGJdEcAtfnReRLpJ99XcBdWY7qXksQqxw6/VoJ2Xf8=@vger.kernel.org X-Gm-Message-State: AFuF++mEDzBH3CtvhQy7VnIB1qQ8cti1Ap7CZJj7anB/vnF9IH4TJurN IFQag5iilx+6FE8TLMzskADdLC3hBwsGpdFOewyb21PChtCr5kusII5i X-Gm-Gg: AYBFou3t0jgYrxSMhsNqKRnpJ2/uvA3n5dEAK0SjpH9WME3jSutOjh7ZEWjuXlcfgkd 7GiOPD4ihg3NQTRzPuHcTqQBYanm90LbXxkh7CiTPJ12HkcQ5SkNgBVg1XYKoT2WRIHCR2vMRfB faDDdSKmnmTxJh6j1njjjKvAeo4CTiTp/ciISXTKV1lNPECn2bV2beI2qdbPabhg2Wwhw1+RG1H KtIjHfoXAgHxRBl2RWWhvYSfOMds9kHnHJCuEyJ4k8aCELlvqdvtnCh14FCn96P1YE8U7AQi3h1 GFO9RsaEDe4Mk07QnM4D3JJMZuJDoCx4GfeFMfOTF1MMZDoAVMigkn3HuOQ6mSvpN3l14qfGRp5 xYQI0iXK+pOmyqCSVt70hU2706otJJcPkfubp2Rbt1jJLmdcvONA/JTCIan6MdCNI08Lx7BsIAu 7XUFHELwpUFVPLKuq3/rWbfTKtbjinjnCLzm8sbw23OFl7C6JEOSzMHVVAY5tjHf1BVA8oXRz6 X-Received: by 2002:a05:6a00:391c:b0:842:5b66:3c7f with SMTP id d2e1a72fcca58-85ed444854fmr4147616b3a.0.1788334358011; Wed, 02 Sep 2026 00:32:38 -0700 (PDT) Received: from intel.company.local ([122.11.210.25]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-85db2adcbedsm926914b3a.20.2026.09.02.00.32.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Sep 2026 00:32:36 -0700 (PDT) From: Wandun Chen To: catalin.marinas@arm.com, will@kernel.org, chenhuacai@kernel.org, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, tglx@kernel.org, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, robh@kernel.org, saravanak@kernel.org, akpm@linux-foundation.org, baoquan.he@linux.dev, rppt@kernel.org, pasha.tatashin@soleen.com, pratyush@kernel.org, m.szyprowski@samsung.com Cc: mark.rutland@arm.com, kernel@xen0n.name, alex@ghiti.fr, hpa@zytor.com, ruirui.yang@linux.dev, robin.murphy@arm.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, loongarch@lists.linux.dev, linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, kexec@lists.infradead.org, linux-mm@kvack.org, iommu@lists.linux.dev Subject: [PATCH v6 05/10] crash_core: replace for_each_mem_range() with for_each_mem_region() Date: Wed, 2 Sep 2026 15:31:11 +0800 Message-ID: <20260902073116.802752-6-chenwandun1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260902073116.802752-1-chenwandun1@gmail.com> References: <20260902073116.802752-1-chenwandun1@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Wandun Chen for_each_mem_range() skips MEMBLOCK_NOMAP regions implicitly. Switch the weak defaults to for_each_mem_region(), which exposes struct memblock_region and per-region flags, and filter NOMAP regions explicitly via the new crash_should_skip_region() helper. This prepares for a subsequent patch to extend the skip filter. No functional change. Signed-off-by: Wandun Chen Tested-by: Meijing Zhao Acked-by: Baoquan He --- kernel/crash_core.c | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/kernel/crash_core.c b/kernel/crash_core.c index 3adee1ae120c..bd64cf585795 100644 --- a/kernel/crash_core.c +++ b/kernel/crash_core.c @@ -270,6 +270,12 @@ int crash_prepare_elf64_headers(struct crash_mem *mem,= int need_kernel_map, return 0; } =20 +/* Exclude NOMAP regions from the vmcore. */ +static bool crash_should_skip_region(struct memblock_region *reg) +{ + return memblock_is_nomap(reg); +} + static struct crash_mem *alloc_cmem(unsigned int nr_ranges) { struct crash_mem *cmem; @@ -285,22 +291,25 @@ static struct crash_mem *alloc_cmem(unsigned int nr_r= anges) unsigned int __weak arch_get_system_nr_ranges(void) { unsigned int nr_ranges =3D 2 + crashk_cma_cnt; /* crashk_res + crashk_low= _res, +CMA splits */ - phys_addr_t start, end; - u64 i; + struct memblock_region *reg; =20 - for_each_mem_range(i, &start, &end) + for_each_mem_region(reg) { + if (crash_should_skip_region(reg)) + continue; nr_ranges++; + } return nr_ranges; } =20 int __weak arch_crash_populate_cmem(struct crash_mem *cmem) { - phys_addr_t start, end; - u64 i; + struct memblock_region *reg; =20 - for_each_mem_range(i, &start, &end) { - cmem->ranges[cmem->nr_ranges].start =3D start; - cmem->ranges[cmem->nr_ranges].end =3D end - 1; + for_each_mem_region(reg) { + if (crash_should_skip_region(reg)) + continue; + cmem->ranges[cmem->nr_ranges].start =3D reg->base; + cmem->ranges[cmem->nr_ranges].end =3D reg->base + reg->size - 1; cmem->nr_ranges++; } return 0; --=20 2.43.0 From nobody Sat Sep 26 11:01:23 2026 Received: from mail-pz2-f0.google.com (mail-pz2-f0.google.com [74.125.228.0]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C67413E0C68 for ; Wed, 2 Sep 2026 07:32:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.228.0 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788334372; cv=none; b=LTYMRGq+SS7CBLWvZu6nB8XNUWoh5+YamqpviivZKDzf6OBe6qZ6gEMgmfUaWgPSvxAvK4W3Gn6qjEdLUOvT2PNPE9nbgHbanLEFxFyykjf3rfCQgo7mnSUqpZUezFATGKLqNZxHLT0agTYw0q2DaqEO9f/fvcHpW/GgNjd8JPQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788334372; c=relaxed/simple; bh=sSy2WFH17+09Ag7fXYDKW/ARjxfJxT8aeCAfz6vIU4Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fefpcOooAx7i/883ORCiyNPWRm2tpXJfFB/korrjNO/Nmnx928uM1mxuxzDHGjnV/AEUXACqF1Ekn7YmjBY57nHGSfvy0wkqYxtobUCoRBN6u7S7c+EHW5DhMe71zinUq6GQWFP+KEkk44X8hp2BUD67lKc9zgpJA+FncGAcXWU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=OkR6E371; arc=none smtp.client-ip=74.125.228.0 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="OkR6E371" Received: by mail-pz2-f0.google.com with SMTP id 41be03b00d2f7-ca7fcfe1669so413735a12.0 for ; Wed, 02 Sep 2026 00:32:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788334370; x=1788939170; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Vi97MWhfZddiqmimgtB8vYuipDLussxDN6BUz0TYMFc=; b=OkR6E371F5QTwiyMVOi74YMEqnjJubuwm23w8W0raQDCC3VWnn4lsaVFHU6vSvLnH0 26m47D9+vz9iWGeeq8ODIqlhhSsH9NoCg5qcjd+gTLscibgXuFj3CogRoh9LHZCOkMn0 cdjh2QmQFqZYGK6KTu0rHpQEow/ICXFDP31Sbn94tyTOh+lwqDSB1XVN98MC6NwjeumL KbU1HioRStmkV9B1V5GY6eJPwneOgmMa3O7jBHz3EgER8t5KC0MlYhKCVq5uxJBVLsNB tQdt/XmytHzRXT/9zxONyji0inXFPHIdGCdbXdMAKKVY8DhnOMoO5426vxkJV3RJZ5wM MP7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788334370; x=1788939170; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=Vi97MWhfZddiqmimgtB8vYuipDLussxDN6BUz0TYMFc=; b=aScqx7dekQgeku5qjvU21GD4jTht18QWEY9kB5y6tBcOOBNPL3Z0MfjuHsFEOuFo9Q S+jccf6U5LQkxhLrUDQJyQplNs2a4vkrk8uMEi/jrSS4p3B+QEqMtct1zau3p6PI01Zc wOhJXS+efbpSSlfQcijAG2klZsGDp3LSRNeF5gtw9KB+LwdklYm6JMYab3XCXNDlAAhD aFIFk8yM+NFIWotCqJPZZI39WsJK3sIqe8HUbH7I4IBx9Gvh4vvrhWCNx5R1/jiW+wOD Og910WT92V1e5a2wAONcxBtTk5ZF/D+fiPCGZdJvivXQztSpU1HVDtFyEpr4Dji9AaxY 1J/g== X-Forwarded-Encrypted: i=1; AKwUvBx/PYjJpB371AFXuSO7mI/SkSN2E2pFBXs8AFkzdaRtVxpqFeYJaxHqXKecGU8iVzBQKekKK3Gr8Uw8ilo=@vger.kernel.org X-Gm-Message-State: AFuF++mfQBEiFy2oWAvPvHWI0mBzXSmGG5SWDuUfq49RDTSmRNPy283a uxzcotQa52G5Y2db3FhEny8QhKYrU6YcR1TOtiQfd50UeAU4zUX6JKr3 X-Gm-Gg: AYBFou08jlk9vR22sPFpAArRVne/aYZgK3Al6tMMoHXzfw4h0wJzRhocOfvPSpBKZtx G5tswYGA+H0bnw46OOmeyIgpw/YTPts2rFQVV0WZEQWFBUhYoaAS3qUUTjk6Kcpg+4WJ4Bw5dA+ WLnWBsDoqhVRruNBQimbrTXJBbKb2Ji2nLVEJL8AqR5VC/hquDG1EzwQ8GFgskagOOrKK48yYtW FLaLobn0CZgAPNKT9ilkY4VQgQOil/D16wvNN2e1ajCDYQM/RZI/OcoXMM9XCwk6S+kbacvnNeY GlsfHbANWoBce/HwxStIikYOE41qEbbv/tphSyapo0GJ9Lbiixy73oAiwxSk1NCebf3bFvhSTQH 0aRHSR8CO7Bg/usRLzBAcAR44alqpk0td+7pemv84W7vRMf8aC3ajHEfrB6EGcz6kI8braTNalk l6S45PPM4eC+awxmVAmLbtenxyVqKA9UhQziUje77FJ2RL7oLNQWpxS5fHlWENMMlpzVLqD3Iv X-Received: by 2002:a05:6a00:8017:b0:851:ba04:ca02 with SMTP id d2e1a72fcca58-85ed398adccmr5532767b3a.16.1788334370199; Wed, 02 Sep 2026 00:32:50 -0700 (PDT) Received: from intel.company.local ([122.11.210.25]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-85db2adcbedsm926914b3a.20.2026.09.02.00.32.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Sep 2026 00:32:49 -0700 (PDT) From: Wandun Chen To: catalin.marinas@arm.com, will@kernel.org, chenhuacai@kernel.org, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, tglx@kernel.org, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, robh@kernel.org, saravanak@kernel.org, akpm@linux-foundation.org, baoquan.he@linux.dev, rppt@kernel.org, pasha.tatashin@soleen.com, pratyush@kernel.org, m.szyprowski@samsung.com Cc: mark.rutland@arm.com, kernel@xen0n.name, alex@ghiti.fr, hpa@zytor.com, ruirui.yang@linux.dev, robin.murphy@arm.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, loongarch@lists.linux.dev, linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, kexec@lists.infradead.org, linux-mm@kvack.org, iommu@lists.linux.dev Subject: [PATCH v6 06/10] memblock: introduce MEMBLOCK_NODUMP flag Date: Wed, 2 Sep 2026 15:31:12 +0800 Message-ID: <20260902073116.802752-7-chenwandun1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260902073116.802752-1-chenwandun1@gmail.com> References: <20260902073116.802752-1-chenwandun1@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Wandun Chen Add MEMBLOCK_NODUMP to mark regions that should be excluded from kdump vmcores. The flag is meant for reserved memory that carries no data useful for crash analysis. Reusable reserved regions such as CMA may hold useful data, so these regions must not be marked MEMBLOCK_NODUMP. Subsequent patches wire this up for /reserved-memory and /memreserve/ entries. Suggested-by: Rob Herring Signed-off-by: Wandun Chen Tested-by: Meijing Zhao Reviewed-by: Mike Rapoport (Microsoft) --- include/linux/memblock.h | 9 +++++++++ mm/memblock.c | 16 ++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/include/linux/memblock.h b/include/linux/memblock.h index d62db9e776cf..b2fcf11fba2b 100644 --- a/include/linux/memblock.h +++ b/include/linux/memblock.h @@ -52,6 +52,8 @@ extern unsigned long long max_possible_pfn; * kernel that we know is good to use. It is the only memory that * allocations may happen from in this phase. * @MEMBLOCK_RSRV_HUGETLB: memory is reserved for hugetlb pages + * @MEMBLOCK_NODUMP: exclude from kdump vmcore. It carries no data useful + * for crash analysis (e.g. firmware carveouts). */ enum memblock_flags { MEMBLOCK_NONE =3D 0x0, /* No special request */ @@ -63,6 +65,7 @@ enum memblock_flags { MEMBLOCK_RSRV_KERN =3D 0x20, /* memory reserved for kernel use */ MEMBLOCK_KHO_SCRATCH =3D 0x40, /* scratch memory for kexec handover */ MEMBLOCK_RSRV_HUGETLB =3D 0x80, /* memory reserved for hugetlb pages */ + MEMBLOCK_NODUMP =3D 0x100,/* exclude from kdump vmcore */ }; =20 /** @@ -160,6 +163,7 @@ int memblock_reserved_mark_noinit(phys_addr_t base, phy= s_addr_t size); int memblock_reserved_mark_kern(phys_addr_t base, phys_addr_t size); int memblock_mark_kho_scratch(phys_addr_t base, phys_addr_t size); int memblock_clear_kho_scratch(phys_addr_t base, phys_addr_t size); +int memblock_mark_nodump(phys_addr_t base, phys_addr_t size); =20 void memblock_free(void *ptr, size_t size); void reset_all_zones_managed_pages(void); @@ -306,6 +310,11 @@ static inline bool memblock_is_kho_scratch(struct memb= lock_region *m) return m->flags & MEMBLOCK_KHO_SCRATCH; } =20 +static inline bool memblock_is_nodump(struct memblock_region *m) +{ + return m->flags & MEMBLOCK_NODUMP; +} + int memblock_search_pfn_nid(unsigned long pfn, unsigned long *start_pfn, unsigned long *end_pfn); void __next_mem_pfn_range(int *idx, int nid, unsigned long *out_start_pfn, diff --git a/mm/memblock.c b/mm/memblock.c index f2952d725c10..2e87f39826dd 100644 --- a/mm/memblock.c +++ b/mm/memblock.c @@ -1204,6 +1204,21 @@ __init int memblock_clear_kho_scratch(phys_addr_t ba= se, phys_addr_t size) MEMBLOCK_KHO_SCRATCH); } =20 +/** + * memblock_mark_nodump - Mark a memory region with flag MEMBLOCK_NODUMP. + * @base: the base phys addr of the region + * @size: the size of the region + * + * Mark the region as not to be included in crash dumps. + * + * Return: 0 on success, -errno on failure. + */ +int __init_memblock memblock_mark_nodump(phys_addr_t base, phys_addr_t siz= e) +{ + return memblock_setclr_flag(&memblock.memory, base, size, 1, + MEMBLOCK_NODUMP); +} + static bool should_skip_region(struct memblock_type *type, struct memblock_region *m, int nid, int flags) @@ -2887,6 +2902,7 @@ static const char * const flagname[] =3D { [ilog2(MEMBLOCK_RSRV_KERN)] =3D "RSV_KERN", [ilog2(MEMBLOCK_KHO_SCRATCH)] =3D "KHO_SCRATCH", [ilog2(MEMBLOCK_RSRV_HUGETLB)] =3D "RSV_HUGETLB", + [ilog2(MEMBLOCK_NODUMP)] =3D "NODUMP", }; =20 static int memblock_debug_show(struct seq_file *m, void *private) --=20 2.43.0 From nobody Sat Sep 26 11:01:23 2026 Received: from mail-pz2-f9.google.com (mail-pz2-f9.google.com [74.125.228.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7D6A23E49E2 for ; Wed, 2 Sep 2026 07:33:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.228.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788334384; cv=none; b=pGwr7S7hTEKxLu4OcptDAvqquRb8iy2ll90gwWkrocPVdEX5lvVpUj01D6W1PnjvjX06atYNSLs2YCk0BziPE5ATJKgUV14WmwOBMQ7LXL3nc9gESwGMeFfOXPLOfZ6Z7k9Q+d5wtsEuhyPgLwsthgLY4uIynclS8bIcWS3Tt6M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788334384; c=relaxed/simple; bh=MwmyZtqdZD7M055LKAyuxJR4s3W7xYxs2ORY+R5rg40=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Uh895YUM6BtWV+9ht1jQc9HtH2Sru+2iEq06iQXn8mn69pMNX4enkrQ6fxDXCxxw/05Ee878iU6C9hb9/lVcURCfuNDwssusdTyTi1fNJy9RuHYEwRvbghULOazMhlQgwAiGFTcLQdbQn3Gdzh9xHdfx0ybjoPM5N7Jh+YqZvGU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=sVFCzm6C; arc=none smtp.client-ip=74.125.228.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="sVFCzm6C" Received: by mail-pz2-f9.google.com with SMTP id 41be03b00d2f7-cc1cb94b583so255027a12.0 for ; Wed, 02 Sep 2026 00:33:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788334382; x=1788939182; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=c+6c1mxNeRcK5OGJwTOV8Umz+CvUvEErlItanMxKc4I=; b=sVFCzm6CI1pAxHh3GkZxyOqpJIGzxlUz655GI+/zu2HUScQIzsSebsy4FfZ2MQuXqy M0+MGmWAVOmPD+CybcowInAXZtiXm/Zc29iY3Qaq5futOwbZv0fYJZxvmeK4dZQj9400 xiPnxkS86BSQx8HvbreMzeykNIUukdUT2S2fbiGSIVn/2akzATxcVti3rCQg+/WBsV1M mItWNIX4157IbogqGzGHObLsJwXoqquxKvLsyShKGxzR1IaE33kl1PAauLw0eh1UpLIS R7vXUNnvrGVgI+VM8kOuBFeMTmZP+csAn7Ksd3I+CM/Tm4Ytg1Vki1yXC3DQvjMeOxdl 81BQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788334382; x=1788939182; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=c+6c1mxNeRcK5OGJwTOV8Umz+CvUvEErlItanMxKc4I=; b=gXazZILdkD5R6NZHtPXTKH3EXBQQPVstif9GdNAF9k3mtr9IuNGzWXlHVnadWWgGFU tj9tXKSD5Fpsp+pizYGOohHCE6JXzyUrX2mrTxNeWr7hPCe5dPdFeitJFgrIvpwfbJb9 oVNcO/JAadGkxoGp109oW4Yz3NJxfi9HoBg36wkgJwpZS/yRdbZTtbr3qntxMkHNL/vx f4CQA3oyHVVLcu/AJ/O/EmFli87SMXFV94X4cbRwy7l+oW/sz8Crb8JJ4ZyClT57wZne RYuB6IIdU8aRYSX9yYSMX84RkE1/FpAdPxwms4w5l23u2UjLC2ueLhlV6/HLpJtZeo2N JA2w== X-Forwarded-Encrypted: i=1; AKwUvBxpPG/kSH9EkXPsjDzRc0TM5sbVNtak1n/Tm6l2+Ow7o/FlXNYEYq6y+fFRpmCwsDcvW931dNWuaFpTBMU=@vger.kernel.org X-Gm-Message-State: AFuF++kWxjRNddfKSFU14y2bJpE3wGxL/rKHC05xyKcXqdUoB2gyPqHx z+P566XNGIebsUu0oEvHs7+batdwjwLiN+WaDy4NNPiFFatkOwzcw3hJ X-Gm-Gg: AYBFou3salqkd1s5J5MIcsLPiOyFhfmcyePDeZyEaLCpC0eJJg6t2IHcjh/KFsHgNL5 KXVdTRB7eVSFHo3DDUtM19RXSS1wjuJuUidZ8rNY57DtQi/NXIicQ6g4nWI5tSlUJoeiXc57j6C sLkCXW+jdVBdaEx/GDosA0Uhtjs5QXH8lcrdEWjE4BZgYWTY9k+cHuEaFK+F1IO70Oc3cj0IJxo B0s4LJmkYShbt52mOMVvAVdwjN6Mebz0TsqewBUE7bjw3AJ1PwJK2ceUK2qJE2AVAFTN0TKtwWz vTeP+2+Mo6ffZEHmBLqBoJ21+UJFS5HyS9cs3eanS1nRJJPqKJB7ArL5Pgvrmb3JQ/l92UrK4Jf Fnk5ZOfPKTY1SHJaY1JO81YDN8Lgprnsevr7VabKenWj98TzqWzvFBuwAiToLNN3YvdqGDSsH+J iIkC4Kq2PIJj0MVlarChEXv91dvtTNbjOBgLmj7sl6UBiGkv2cke+0HOrubBFHxBR8NM50tN/z X-Received: by 2002:a05:6a00:330a:b0:857:74ae:ad76 with SMTP id d2e1a72fcca58-85ed4e09b6fmr5077449b3a.26.1788334382541; Wed, 02 Sep 2026 00:33:02 -0700 (PDT) Received: from intel.company.local ([122.11.210.25]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-85db2adcbedsm926914b3a.20.2026.09.02.00.32.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Sep 2026 00:33:02 -0700 (PDT) From: Wandun Chen To: catalin.marinas@arm.com, will@kernel.org, chenhuacai@kernel.org, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, tglx@kernel.org, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, robh@kernel.org, saravanak@kernel.org, akpm@linux-foundation.org, baoquan.he@linux.dev, rppt@kernel.org, pasha.tatashin@soleen.com, pratyush@kernel.org, m.szyprowski@samsung.com Cc: mark.rutland@arm.com, kernel@xen0n.name, alex@ghiti.fr, hpa@zytor.com, ruirui.yang@linux.dev, robin.murphy@arm.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, loongarch@lists.linux.dev, linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, kexec@lists.infradead.org, linux-mm@kvack.org, iommu@lists.linux.dev Subject: [PATCH v6 07/10] of: reserved_mem: add dumpable flag to opt-in vmcore Date: Wed, 2 Sep 2026 15:31:13 +0800 Message-ID: <20260902073116.802752-8-chenwandun1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260902073116.802752-1-chenwandun1@gmail.com> References: <20260902073116.802752-1-chenwandun1@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Wandun Chen Add a 'dumpable' flag to struct reserved_mem to decide whether a reserved area should be included in the kdump vmcore. Non-dumpable regions are later marked MEMBLOCK_NODUMP;the filtering itself happens in memblock, keeping the arch kdump code independent of the DT API. Most reserved regions are owned by devices and do not contain data useful for kernel crash analysis, so dumpable default to false. Reusable CMA regions are different: their pages are handed back to the buddy allocator and may contain key data for crash analysis, so set dumpable to true in rmem_cma_setup(). The dumpable flag is also used to check /memreserve/ entries for overlap with other dumpable regions. Suggested-by: Rob Herring Signed-off-by: Wandun Chen Tested-by: Meijing Zhao Acked-by: Marek Szyprowski Acked-by: Rob Herring (Arm) --- include/linux/of_reserved_mem.h | 1 + kernel/dma/contiguous.c | 1 + 2 files changed, 2 insertions(+) diff --git a/include/linux/of_reserved_mem.h b/include/linux/of_reserved_me= m.h index 49da515859f2..99c0f3ccc297 100644 --- a/include/linux/of_reserved_mem.h +++ b/include/linux/of_reserved_mem.h @@ -15,6 +15,7 @@ struct reserved_mem { phys_addr_t base; phys_addr_t size; void *priv; + bool dumpable; }; =20 struct reserved_mem_ops { diff --git a/kernel/dma/contiguous.c b/kernel/dma/contiguous.c index 66093460584e..caa6a5c66bd0 100644 --- a/kernel/dma/contiguous.c +++ b/kernel/dma/contiguous.c @@ -567,6 +567,7 @@ static int __init rmem_cma_setup(unsigned long node, st= ruct reserved_mem *rmem) dma_contiguous_default_area =3D cma; =20 rmem->priv =3D cma; + rmem->dumpable =3D true; =20 pr_info("Reserved memory: created CMA memory pool at %pa, size %ld MiB\n", &rmem->base, (unsigned long)rmem->size / SZ_1M); --=20 2.43.0 From nobody Sat Sep 26 11:01:23 2026 Received: from mail-pz2-f7.google.com (mail-pz2-f7.google.com [74.125.228.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5C9753E0241 for ; Wed, 2 Sep 2026 07:33:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.228.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788334398; cv=none; b=gI+xQmPujc7FkiU3Cj13EphyjBqAWkV0wqI9/c+ylrTsV6YUxvnOnLcTcbxqS8jPT825Zx6Ed74lmXQZPipu1QFAsoRmPYk7TJLHsdQB1Xb3ZH548JaMkAsgCoT2aXAHFtydDeCRxXYBiiSUDeTsFLeHugPS3Lh0aF/CE0tM+Q4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788334398; c=relaxed/simple; bh=LdiDKcxoqOK6v7YCmPqCiMeNyxA1ek7PYiNAuO0m/sQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Xz+rzbxm98aKNBs4m0AynJzb5tHMwCSAaAhjrr3Yu+H57GwWdtEY3DlMVSQAzhUIoKy5AcDpCbl9WjjsIDlqT1HGtQ261YMCYimJrLpVvQhLsODboEMxZMHtJ6068Ya74CKCicjfiZn2xu0opKboiED/+orkGXIP2BuIxpseO1Y= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=k1Uu0CaT; arc=none smtp.client-ip=74.125.228.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="k1Uu0CaT" Received: by mail-pz2-f7.google.com with SMTP id 41be03b00d2f7-cc1ddb3ba3eso440133a12.1 for ; Wed, 02 Sep 2026 00:33:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788334397; x=1788939197; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=fTBZpbSvsidLVDHHiShy9f+wnGid6sRS2qRO19KqwKw=; b=k1Uu0CaTQQoNIKgE107gAXwujbBTJeuT6Ry5xh985OJF2njz5Zhxr3/0XAMn9Uw0SM LWEb07ukzcB1d1KewKWd8ppvsi+FyjRphUz1ZRa4c81LB7dnEN7+Ll2FGuFt3l4Yak0n 57lfBI9pEpIH1ZuEdH4uL3oN09GEg1sg7zo9xHO0uCG/iEwE1U+nsVeNDu2GF+qsJaLJ jZrtAy+JxQ3LDe+sHZa7Oqp7tWirdBAsJs1Td28y0V4e+vbXO2A6NwFPbvGdBa9rfJfq ddnBLuIFF5JwwnrP/UvC6aMLg4uE7p6EFflWn86mvuyFeNs1PHNoNXdq6TcF3sBWLKy5 SotQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788334397; x=1788939197; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=fTBZpbSvsidLVDHHiShy9f+wnGid6sRS2qRO19KqwKw=; b=crVZGGFnynlFTsJzZeisktpvzeonVIkfAleAuFbFGHGKoW9C0/rVxMxn5tqvF54FjE WxXJes0CZCOlRqA8bL1TVjOoEtwCEaSCcaZZOjG7G1r0ppOSdgaN+jzS7s8zHNcyOYv+ UcQDWKYYPYAbgrOcmw+l0IQR4igjHbeqXZ86VX6oxcR+Z0ehSMk+KOhfHkP8jwIOfaxi g0E5OV6HVZ43h/kF4KRNnCWkMTXJTMSVBkUyIFFCvmqAs+ZuFiGG1LdHF1iz6jFB/ZLT HQMX9HQtMn8GKBp+NqOwIHfCCW5L3dvG8mQkECaOGIUNPHcnIAsj8abFT7z5xBp7jzEr /bAA== X-Forwarded-Encrypted: i=1; AKwUvByD71zt8sJDb6ZCo4JEPCV5E1ZxiinAhFV4FpOz2NmL0I4/dH6dt+82n1/VBKKE1JaoVx7n/HqkEyNZxVU=@vger.kernel.org X-Gm-Message-State: AFuF++ndO0HhscO2x+QVJzpzXjtEJFnfzCjSbcR2MwrRL3gKL9B/gwc0 NgEiECuAF4uIuSydErCqqykGZVxrEhgZehurzOGG3bf8/i/FqYHct3dN X-Gm-Gg: AYBFou3WlpV7GmMyW6bu8YUA/QF8bL4/EueOg7YW+hc6TFK7pbczklWKEeuKmKzIYNh kR9bCrMC12BrMEdTV940zkMc8L8Ugod3jr3aKvi4T/AfmIEN57J/FGo22QevBPr0teQmYXcAXru WXb0DroM9css7/bLI2czSFXolQJGpZfFx3GwZziORoj9Co+cYmTU56NQPiGLoj7q4Z9w62YkZ3O Rcmnhmi/AHVItB5+bTMiF7Fm1m7DgD3RVB9+RJvvywErl9Dx4wdEJP8lnMFJ2aO+JmeToI/zqLX 1pVRpo6dAu50pvuf//BwMPeAB/+WOvIPVAa3WmkOSlaUnUNnsk5JDryEarluBS7m8JeLV0jhbmv k37QmwIwqYZAczFJkoX8k2OELxmCkDkbrq9q5OMBLCVJLHQyw+yqjjcFX4v5r57tsn27L2KUBtO WQZ49mki1/gEyydz/+08l6C0gFBMqGDoyCTbYYmo+WdsJ+J/Ao5AER6B+q/edhZrQMFZ+dcCOcc r0LUpyGBqM= X-Received: by 2002:a05:6a00:4f83:b0:857:72f8:dc99 with SMTP id d2e1a72fcca58-85ed8fd714cmr4354975b3a.26.1788334396619; Wed, 02 Sep 2026 00:33:16 -0700 (PDT) Received: from intel.company.local ([122.11.210.25]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-85db2adcbedsm926914b3a.20.2026.09.02.00.33.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Sep 2026 00:33:14 -0700 (PDT) From: Wandun Chen To: catalin.marinas@arm.com, will@kernel.org, chenhuacai@kernel.org, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, tglx@kernel.org, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, robh@kernel.org, saravanak@kernel.org, akpm@linux-foundation.org, baoquan.he@linux.dev, rppt@kernel.org, pasha.tatashin@soleen.com, pratyush@kernel.org, m.szyprowski@samsung.com Cc: mark.rutland@arm.com, kernel@xen0n.name, alex@ghiti.fr, hpa@zytor.com, ruirui.yang@linux.dev, robin.murphy@arm.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, loongarch@lists.linux.dev, linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, kexec@lists.infradead.org, linux-mm@kvack.org, iommu@lists.linux.dev Subject: [PATCH v6 08/10] of: reserved_mem: mark /reserved-memory entries with MEMBLOCK_NODUMP Date: Wed, 2 Sep 2026 15:31:14 +0800 Message-ID: <20260902073116.802752-9-chenwandun1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260902073116.802752-1-chenwandun1@gmail.com> References: <20260902073116.802752-1-chenwandun1@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Wandun Chen Mark non-dumpable reserved-memory regions with MEMBLOCK_NODUMP so kdump can omit them from the vmcore. The marking is guarded by CONFIG_CRASH_DUMP so non-kdump kernels do not pay the cost of splitting memblock.memory entries at NODUMP boundaries. Signed-off-by: Wandun Chen Tested-by: Meijing Zhao Acked-by: Marek Szyprowski Reviewed-by: Rob Herring (Arm) --- drivers/of/fdt.c | 1 + drivers/of/of_private.h | 1 + drivers/of/of_reserved_mem.c | 15 +++++++++++++++ 3 files changed, 17 insertions(+) diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index a64afc3ded3d..286fd4db6312 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -1285,6 +1285,7 @@ void __init unflatten_device_tree(void) =20 /* Save the statically-placed regions in the reserved_mem array */ fdt_scan_reserved_mem_late(); + fdt_mark_reserve_mem_nodump(); =20 /* Populate an empty root node when bootloader doesn't provide one */ if (!fdt) { diff --git a/drivers/of/of_private.h b/drivers/of/of_private.h index 0ae16da066e2..505735732c13 100644 --- a/drivers/of/of_private.h +++ b/drivers/of/of_private.h @@ -187,6 +187,7 @@ static inline struct device_node *__of_get_dma_parent(c= onst struct device_node * =20 int fdt_scan_reserved_mem(void); void __init fdt_scan_reserved_mem_late(void); +void __init fdt_mark_reserve_mem_nodump(void); =20 bool of_fdt_device_is_available(const void *blob, unsigned long node); =20 diff --git a/drivers/of/of_reserved_mem.c b/drivers/of/of_reserved_mem.c index 8c9d6395d6a3..f29a07e8fb23 100644 --- a/drivers/of/of_reserved_mem.c +++ b/drivers/of/of_reserved_mem.c @@ -677,6 +677,21 @@ static void __init fdt_init_reserved_mem_node(unsigned= long node, const char *un reserved_mem_count++; } =20 +void __init fdt_mark_reserve_mem_nodump(void) +{ + struct reserved_mem *rmem; + int i; + + if (!IS_ENABLED(CONFIG_CRASH_DUMP)) + return; + + for (i =3D 0; i < reserved_mem_count; i++) { + rmem =3D &reserved_mem[i]; + if (rmem->size && !rmem->dumpable) + memblock_mark_nodump(rmem->base, rmem->size); + } +} + struct rmem_assigned_device { struct device *dev; struct reserved_mem *rmem; --=20 2.43.0 From nobody Sat Sep 26 11:01:23 2026 Received: from mail-pz2-f11.google.com (mail-pz2-f11.google.com [74.125.228.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E3CA03EC81F for ; Wed, 2 Sep 2026 07:33:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.228.11 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788334412; cv=none; b=o2uX2tUYw1oQKPaw9NBxdaiEp8SdTeb9yPWtKT392P5LYF28782+QDda/UuaSrZFUuEzHrzy9vnemp2PmpeQ8+NMZVcXZInhCccyZD+jReoeNDLpWBTixW4r/zKvM+62+a7YIgYSaTQdyl7U/pPj9GESONs7Ye/SwK+hEZ5II5M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788334412; c=relaxed/simple; bh=rOduSQdWEUvuONTVSGKgP+5LCjrhss6DGwsRFOyVRP0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jgv/uCsRvJLAAIsZqOPWoXpfGI4jyL1pLW0FPI6zsUTzfqSo4oR27jfpy0C88aWphL4A996IQN94NkGvSjWOkPXBeDgrSNC8TwGi8bIa7Tr7Kw0RJlQPJan1EyYFcpAbn/+sevsquZ0DeQe/oUGMc1k2uN12BrVJO4ytHwVgack= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Ucw+UQ8J; arc=none smtp.client-ip=74.125.228.11 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Ucw+UQ8J" Received: by mail-pz2-f11.google.com with SMTP id 41be03b00d2f7-cc1c2963c92so225102a12.0 for ; Wed, 02 Sep 2026 00:33:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788334410; x=1788939210; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=IlegJqwkFPej4fFKCV2MAr7wlJV+QNtxUfZHapDGJcw=; b=Ucw+UQ8J2qvYv5RHQdpyzP0QCqBRIGM7bK/tIaVDFK4ewVkCnxIK3RCqOWMN6TpQ6r Srt7V5l/jmw68tJ3tbP3QHejGvV/2msYtOPVXPiO/xuVXJCc6KouVNMWMgZ3v9vuA7Nb YxHuGf4lQ2QOWRFtw7J3kJ/TINUOPMhfZhMZKKYzbPzQpCyASxT1SEuWtdf02WL6EF2e aiGLUpbDJGOPRuuqLC+IWbnGFdw5gxwa7FZBDEUwmu9OPvQWEn4r1zIRmjuwIRcGZTwN bsYBV0+BhPFJfK5aZZEnLlijUammx+YmG5HUVVH/SKNU8GJuqjpjock6GRog/X2CPYl+ u5Sw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788334410; x=1788939210; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=IlegJqwkFPej4fFKCV2MAr7wlJV+QNtxUfZHapDGJcw=; b=WSwVWdeeeGPhMw5T843NNwyUgeXjGeXvOKwd3Ez99vfvcYuh/l+XVPxWVxMWablxA0 Zpu0wDwYpoSzFC2C6LLMQEvb8odrSVPiiiICDZjbjdp8PMgLTqx8rMQf/44EWk84x2sC dQCPLU0K57uzvlV1CwXbl0wbYHa6nyfz9N6Y0mbUiyz29K2qXX8QJe+89A8XDroz+pQJ HmRpGZj2NsPhT0KEW606rgLEg3sgNLF647/h61eoLnpWt8s2GXncSzdyBMp6K7yfM9iV 9UOGTst6+PDcwNq0WIsIXt61hzpWBiZANBFnfmMC58UmM8SJZPGqapXMzmG/Ubm0Q7xF 4V3w== X-Forwarded-Encrypted: i=1; AKwUvByppgDWbkjqAErc+1U8pGyEA0fMk5VmenyetJZ+71GSzs/qhRPodZryEQP0siYO+qlHss0/XGoBoWptARc=@vger.kernel.org X-Gm-Message-State: AFuF++mkYjJ5ffUeAfuoxnk8RvjCWAAcef4so131/GyFUTqtJ3MHh3mW vqNHomTr0nvjHu9WFZxSPNNWKL+b3crI4U+ENWldZCjgrSKestMFWWrj X-Gm-Gg: AYBFou0vyXv77jhq5wKJ0BnM1cJdeF4fny4BTWlPG1FTXvovPurKlIktvDQlL16V0dr K/mDqAYXxyKp407UitUlkMttfXgdXct36CBOMKo2C9pfh61DQo6bBWjNYKq5NX1+zlvDL7Lk0Tv YONA1d6XRoOUyYB4LO3DJmuGcA4+lkS+DDuD5U1sJwfIs/IZoKOtBlF1VFvb5lTUyPuYSQKcNAg K42i+c/jGKdfhjRFGrlEc36E98aMfdqQOUN1FGRTfgyjHRaYcyPtxvg5bldNWjj6XdAgk1p8Tcz YIHWsSuqJn0JJiI2UzcdQhYRe9gpuNg3Ai3i2DYzxZBoKMknxaBnEtS1FTfk99JLoMQoCOBCP+T UOkYa3a9UlRdc1FWnU17rFETcL699Q6dtSa9AQMBv3rioqNRawAJLyEkAIA+d7lTEWzK02/jAxO ESGe2/stFz7bjwNehSOALGmmX/dPUxv1ILltgQ3T5+SFstuLJlDrRUgFumnQhAWzLG0aVmoJBH X-Received: by 2002:a05:6a00:4408:b0:857:4dea:e2fe with SMTP id d2e1a72fcca58-85ed8ed8414mr5132871b3a.13.1788334410213; Wed, 02 Sep 2026 00:33:30 -0700 (PDT) Received: from intel.company.local ([122.11.210.25]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-85db2adcbedsm926914b3a.20.2026.09.02.00.33.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Sep 2026 00:33:28 -0700 (PDT) From: Wandun Chen To: catalin.marinas@arm.com, will@kernel.org, chenhuacai@kernel.org, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, tglx@kernel.org, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, robh@kernel.org, saravanak@kernel.org, akpm@linux-foundation.org, baoquan.he@linux.dev, rppt@kernel.org, pasha.tatashin@soleen.com, pratyush@kernel.org, m.szyprowski@samsung.com Cc: mark.rutland@arm.com, kernel@xen0n.name, alex@ghiti.fr, hpa@zytor.com, ruirui.yang@linux.dev, robin.murphy@arm.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, loongarch@lists.linux.dev, linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, kexec@lists.infradead.org, linux-mm@kvack.org, iommu@lists.linux.dev Subject: [PATCH v6 09/10] of: reserved_mem: mark /memreserve/ entries as MEMBLOCK_NODUMP Date: Wed, 2 Sep 2026 15:31:15 +0800 Message-ID: <20260902073116.802752-10-chenwandun1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260902073116.802752-1-chenwandun1@gmail.com> References: <20260902073116.802752-1-chenwandun1@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Wandun Chen The /memreserve/ entries are memory reservations made by the bootloader or firmware, their contents are not needed for kernel crash analysis, so mark them MEMBLOCK_NODUMP to have kdump omit them from the vmcore. Entries that overlap a dumpable region (such as CMA) are left unmarked, because the pages of a dumpable region may carry crash-relevant data. Signed-off-by: Wandun Chen Tested-by: Meijing Zhao Acked-by: Marek Szyprowski --- drivers/of/fdt.c | 1 + drivers/of/of_private.h | 1 + drivers/of/of_reserved_mem.c | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+) diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index 286fd4db6312..9a727941b5af 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -1286,6 +1286,7 @@ void __init unflatten_device_tree(void) /* Save the statically-placed regions in the reserved_mem array */ fdt_scan_reserved_mem_late(); fdt_mark_reserve_mem_nodump(); + fdt_mark_memreserve_nodump(); =20 /* Populate an empty root node when bootloader doesn't provide one */ if (!fdt) { diff --git a/drivers/of/of_private.h b/drivers/of/of_private.h index 505735732c13..6497404ec751 100644 --- a/drivers/of/of_private.h +++ b/drivers/of/of_private.h @@ -188,6 +188,7 @@ static inline struct device_node *__of_get_dma_parent(c= onst struct device_node * int fdt_scan_reserved_mem(void); void __init fdt_scan_reserved_mem_late(void); void __init fdt_mark_reserve_mem_nodump(void); +void __init fdt_mark_memreserve_nodump(void); =20 bool of_fdt_device_is_available(const void *blob, unsigned long node); =20 diff --git a/drivers/of/of_reserved_mem.c b/drivers/of/of_reserved_mem.c index f29a07e8fb23..a42cf6eac55b 100644 --- a/drivers/of/of_reserved_mem.c +++ b/drivers/of/of_reserved_mem.c @@ -251,6 +251,39 @@ static void __init __rmem_check_for_overlap(void) } } =20 +void __init fdt_mark_memreserve_nodump(void) +{ + u64 base, size; + int n; + const void *fdt =3D initial_boot_params; + + if (!IS_ENABLED(CONFIG_CRASH_DUMP)) + return; + + if (!fdt) + return; + + for (n =3D 0; ; n++) { + int i; + + if (fdt_get_mem_rsv(fdt, n, &base, &size)) + break; + if (!size) + break; + + for (i =3D 0; i < reserved_mem_count; i++) { + struct reserved_mem *rmem =3D &reserved_mem[i]; + + if (rmem->dumpable && + base < (u64)rmem->base + (u64)rmem->size && + (u64)rmem->base < base + size) + break; + } + if (i =3D=3D reserved_mem_count) + memblock_mark_nodump(base, size); + } +} + /** * fdt_scan_reserved_mem_late() - Scan FDT and initialize remaining reserv= ed * memory regions. --=20 2.43.0 From nobody Sat Sep 26 11:01:23 2026 Received: from mail-pz2-f8.google.com (mail-pz2-f8.google.com [74.125.228.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 232433E3C73 for ; Wed, 2 Sep 2026 07:33:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.228.8 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788334425; cv=none; b=rD3cvEsbH5mf4zcRFsAnNy0eV0FQVBRsduGl+M2F+uSYim7Rw5uJqnLIvZaR1BgamaYPaQmB2AVrrz6Mlv+R/9yGjPeG8BZXkDEJ1kwsf1Pp6v/mlXNziVsTdW8okbJDNCrQuDbsfsJbrXr49E5NUFO8C9eZcvRrNXbQ/PM9/5o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788334425; c=relaxed/simple; bh=6GXqlO1brxizpptoYGP5WQbPTfAaEuWm5XYjrZWlTlk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RB6NQQ8qYTkvs3QAB+gMxmZzw3/X/DyVCnxJ6bV54S/ixsyUFwJmzlY8MbQXcXV2Bf1aTKWwtZIctfrB2PLGo9Fbnop3N+p56NQNxAKKY6XO8adUk08P0JZdh8/bNnUqKfOOC9WFi8Rk/zzSuboksd+n31nbP5Z3+Z7O0EguFYE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=r2cPHsO1; arc=none smtp.client-ip=74.125.228.8 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="r2cPHsO1" Received: by mail-pz2-f8.google.com with SMTP id 41be03b00d2f7-cc2085ecd44so201099a12.1 for ; Wed, 02 Sep 2026 00:33:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788334423; x=1788939223; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Nb5Q2Se78rLq0fXFEmBN2MgTVK3UgvxyIXmhlVfKh+w=; b=r2cPHsO1+mAnuAdH0ZRXPUSAGsvppdextrVgS2DwqI5+EHhsoK9CfA7m4msvyzRmsG ebUept9LEKTJ/HkAI5mtkoCv/CBgcgP9hzbK4WSrIo+v6bTTXkZIRMayBRPjRu4BQFGY r5iVPtXjnMsjfMPCod//DO4J1gFj/8nl4QwMAc0ddu5zKAJPbBv6XQUlvjBTifZ1T7ST 0BqAPJGMBmLxQRfwuWeX2pBCqF2GRTCYODSyuO1doyraVd9NdyrL35M4pl80lzNTn14d sCs3EUL0qhzbRxOvYqt58S7isjSS+c+AfkF1C8DfAN8ozcaSZ75G6HNkOoNoXMA7NR3u WVCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788334423; x=1788939223; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=Nb5Q2Se78rLq0fXFEmBN2MgTVK3UgvxyIXmhlVfKh+w=; b=bzTIk/dvtElTjNNntW7tIYUm3zuqveV+6m3aw2FU59QBPJPNEPrSC1c42ascCzDS7A IZcUeIdZbZXKxAb2WEWrghij2r+Kt93eMgkQa70mrEvCiRVirk+bObJWGh3QwUWBMNhw SBtnrprrBnvJ+gfqd2gUB6yG4tJ3hOc9N6QNpxAe9jksO1o41WEjCHXCjERdFMlY1ifc Z8E3dER3x6T6a35pqizE5uf8BM0dFMJtLCX64vgvrUxu1QUbxoWWM44jHuEzohP4pCjr yeLF1GWnrK9pJMFdRonNe9KXjbBCuCIIHo+uy3Q92Gzv5ndOFc71nNI/t1Q6K7MdfA+D rVMg== X-Forwarded-Encrypted: i=1; AKwUvBw+kLHG7U0FMRyizdZsdmmdpzZFhpDwB/9XWVxidUbntKcsSxyRaIJMN1F9hEguwfGQko/starD5eZrBl8=@vger.kernel.org X-Gm-Message-State: AFuF++mKWfxN/RxIRkui2JeGFJZj4nrHxJ9cAAzmsi/4O9QaQRI59ohi O+BdTO1JZLBV5aTAYtFOnEc8L3tgsi7Ec2xDc9sT4yyPy47daPTP6q6c X-Gm-Gg: AYBFou1AYkxsdLXC5n2HBGX4SoIPoOh/DvQ7SOBSKXHTUAGZUXXIHoe8ZxJek8cWwj/ 5AvRMm8ujeyWaUdNIiQD9eUhOUTWE0rU+qza+mV+3XOCeknjzRl53VtTphBiz+2djC7Z2zFP5MH LLvTiGv0GO2YYY8a++/b8YzzDlWHhqW2Nd46T/dLfB9u6v7RkMCWAxxNQShjGmfQfJ2eVHl6uwg iJuFTr+SVDdb7w1ttGD4jYlobYjkU+vcrWBiDLpr4Pxr3TEhrT3zZ1evn5hhejW2ESt2XfnyACN rf1Xl4uQAhILIMf9UAEPWvvofM8ILIdY11gn09tMVXMcs7SicUFt6icdLf2T2lYbSua5Z1jm+7h nCkMdKspQ4lc5Gz+mUavluORVHLy3IO8FR1X66ceceEh+gQyvdlASXec9L99uuAkTpwgbdfuJZo L7zvZFUg9QiJS6VHKAw6ksLDj7o3o5JaN1MsfFQ1OlNhREjN1Wta4qGJtLBt1FWqn7tPbsMxkn X-Received: by 2002:a05:6a00:6ca9:b0:84f:77cc:63cd with SMTP id d2e1a72fcca58-85ed4449927mr5116039b3a.17.1788334423379; Wed, 02 Sep 2026 00:33:43 -0700 (PDT) Received: from intel.company.local ([122.11.210.25]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-85db2adcbedsm926914b3a.20.2026.09.02.00.33.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Sep 2026 00:33:41 -0700 (PDT) From: Wandun Chen To: catalin.marinas@arm.com, will@kernel.org, chenhuacai@kernel.org, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, tglx@kernel.org, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, robh@kernel.org, saravanak@kernel.org, akpm@linux-foundation.org, baoquan.he@linux.dev, rppt@kernel.org, pasha.tatashin@soleen.com, pratyush@kernel.org, m.szyprowski@samsung.com Cc: mark.rutland@arm.com, kernel@xen0n.name, alex@ghiti.fr, hpa@zytor.com, ruirui.yang@linux.dev, robin.murphy@arm.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, loongarch@lists.linux.dev, linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, kexec@lists.infradead.org, linux-mm@kvack.org, iommu@lists.linux.dev Subject: [PATCH v6 10/10] crash_core: skip MEMBLOCK_NODUMP regions when building vmcore ELF header Date: Wed, 2 Sep 2026 15:31:16 +0800 Message-ID: <20260902073116.802752-11-chenwandun1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260902073116.802752-1-chenwandun1@gmail.com> References: <20260902073116.802752-1-chenwandun1@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Wandun Chen Reserve regions (for GPU, DSP, ...) carry no data useful for crash analysis. Exclude MEMBLOCK_NODUMP regions from the vmcore ELF header to reduce vmcore size and capture time. crash_should_skip_region() now also returns true for MEMBLOCK_NODUMP. Signed-off-by: Wandun Chen Tested-by: Meijing Zhao Acked-by: Baoquan He --- kernel/crash_core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/crash_core.c b/kernel/crash_core.c index bd64cf585795..b0e618e13588 100644 --- a/kernel/crash_core.c +++ b/kernel/crash_core.c @@ -270,10 +270,10 @@ int crash_prepare_elf64_headers(struct crash_mem *mem= , int need_kernel_map, return 0; } =20 -/* Exclude NOMAP regions from the vmcore. */ +/* Exclude NOMAP and NODUMP regions from the vmcore. */ static bool crash_should_skip_region(struct memblock_region *reg) { - return memblock_is_nomap(reg); + return memblock_is_nomap(reg) || memblock_is_nodump(reg); } =20 static struct crash_mem *alloc_cmem(unsigned int nr_ranges) --=20 2.43.0