From nobody Mon Jun 8 19:42:35 2026 Received: from mail-pf1-f194.google.com (mail-pf1-f194.google.com [209.85.210.194]) (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 1F2BE37B3FD for ; Wed, 27 May 2026 03:29:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.194 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779852583; cv=none; b=gIfzEOBbJZEA9yTLedDsQp8aFkuiwKm1y73z/5thBJSEM2CkONDVK6nGkwS0KedCszesTdfFGZoOoH+9NVeglRbxPH8EEVLLY9VRFuSXDHY9eqJUuEugRDsUXHQBzNnX0i+4q13Ob6NAKpcxgWQA4DSCgMAI1PHk12X5NHnO7eM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779852583; c=relaxed/simple; bh=OetecSVWSHSGXKbVApct5VtDpZdb+yRma6A6pwugszA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=QkjhDmUzdDb26LSsw1yMJTC6nhn4Lr7TwZIBbH984A+28454TdZiRz1anpaEKmFZCtDK2Y6nWLO4jcAo0bNtcfG81ZDhFDFy79jVX2Y8zCWlC81zaaEgki2RE9KCy0EdsgF1cCYke5r8dhRbbqJdhnXi5+cSb5iVBynbBewWntA= 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=sIiEPFNe; arc=none smtp.client-ip=209.85.210.194 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="sIiEPFNe" Received: by mail-pf1-f194.google.com with SMTP id d2e1a72fcca58-83ec36a13e9so5624902b3a.0 for ; Tue, 26 May 2026 20:29:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779852581; x=1780457381; 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; bh=osub7jqB1KkbojdE6IP/r6iEAlyJyU/eaCe2RQB9Q9c=; b=sIiEPFNexRzs7ErkBNDEz4YU0zcgy1n3TH8hKiWWzsQoBZHBGUkF8IudNwUigJ6ymb sQ95CiWF1BCeIvGucYji+wECJD/AmYci3Be/BpH8F1kVnzbLGRtkpMW+NK6HoET0L97T QM8ADJbkQw+nNB7il2WLmgs23liA0/YHjeog6KhDIxLo/VsrKR165ovaxSEC3vCYrcoS jmLMsFRdvZ5BVN3mXeCxiWFIEVIa8EKKCrd5/UYzSyddavZhe+cdoPTYB906RHqyQr2L zswaGeCQxYReNSzhc4Qs/fABQqvDhyFCZeeIjt6uSlur8McxhagTkYapKAGK2vN5Ze97 fXEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779852581; x=1780457381; 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; bh=osub7jqB1KkbojdE6IP/r6iEAlyJyU/eaCe2RQB9Q9c=; b=UGHKAvz0eyGB9xEOriA6dxGBQDhHuvoTfa20uYuR6XfkXTp/yYFjRAEq2I7SP3regn wQpPyfujP9H+uNmv3+qgmt2//88R9yD1E6b9Q6lpV4rB49WBjAg8o/Y2M9df7S0y5mvD 6TgoWUU90earn7Rnq/HEOunm8Sl92q4uAl15Q0pSpwD4OnW6nRRR50H+CEC9kELReKLY e9RdBf3w4zcjkWiagh46GYhEXPZt/4+ILCZkD9p4daKxRYlGY7OZ70JxRMVwXp4VbrRr sdmtb4+ZFCI09t3KMUjDL3u5loBTLAuGhlPGzvCyDzpDhJ83K8m6YdhIgNqOk93lSjak Js4Q== X-Forwarded-Encrypted: i=1; AFNElJ8nWcevX1EPhQ4pxRHn+/SO+Xzul8WrWJJJbx9cPIskX60x3HDKgtOvjEMshCZujVlMID4dBW0hGSa3X+c=@vger.kernel.org X-Gm-Message-State: AOJu0YywL1gRcJvM5H3cVTdx27QeiP/Ah5bQxA8WhSUdrNya3//7613d eogdEHiec0pBuU2rOPYkbaMoMFiwseROdzD/1Giqt/QXs1Xk3YUCxzfL X-Gm-Gg: Acq92OHp5bUKMwPWVlfNXE543m0JBqyCnWBhnmAjmO5QBSgRm9gpD1Rhi/HW9c8VNhf mrC8DGia0Tz8XQB1fkEn69AHpQO3ltRyD80+Lj6xTRagqzUFwUrRakWy75RHst2pWUtPoQ9ANXI +sWO2G+r8MmC8yVyuqeOaAQFr0vcoAXBjw2fgQ4dCBzBNbR9KMtIyBbP1Ivxt9e64ZopdP+RK42 /Qy/yuZADlMPDGeX2yAdRPZEnDtVxHTK8JPXghycSDwB/Rge/jrePoL+9x6lWHlbQd2nkaq+EuA rG0nYcCja4ijj9u2UfwJ2UpPuCyw1Iec1I/Hz7+qM9ge3LRBQmmwJqsti6M9fiDd6mUpws2FH+1 SetFroliCHrxWZ1tm9xbaI+iTFgfi5Cdgd7n490G54Mta3khncafE6ilKCsPtQh87QKfhwENGM5 5AeBaviZptJKsyBb2vQ4zLeOd4h/TKMZq5Xzj4 X-Received: by 2002:a05:6a00:7702:b0:841:dc7d:306a with SMTP id d2e1a72fcca58-841dc7d511cmr264256b3a.25.1779852581229; Tue, 26 May 2026 20:29:41 -0700 (PDT) Received: from intel.company.local ([210.184.73.204]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-841d7307596sm749688b3a.59.2026.05.26.20.29.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 20:29:40 -0700 (PDT) From: Wandun Chen To: 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, iommu@lists.linux.dev, zhaomeijing@lixiang.com Cc: catalin.marinas@arm.com, will@kernel.org, chenhuacai@kernel.org, kernel@xen0n.name, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, robh@kernel.org, saravanak@kernel.org, akpm@linux-foundation.org, bhe@redhat.com, rppt@kernel.org, pasha.tatashin@soleen.com, pratyush@kernel.org, ruirui.yang@linux.dev, m.szyprowski@samsung.com, robin.murphy@arm.com, quic_obabatun@quicinc.com Subject: [PATCH v3 01/11] of: reserved_mem: handle NULL name in of_reserved_mem_lookup() Date: Wed, 27 May 2026 11:29:07 +0800 Message-ID: <20260527032917.3385849-2-chenwandun1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260527032917.3385849-1-chenwandun1@gmail.com> References: <20260527032917.3385849-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 Prepare for an upcoming change that appends /memreserve/ entries to reserved_mem[]; such entries have no name. No functional change. Signed-off-by: Wandun Chen --- drivers/of/of_reserved_mem.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/of/of_reserved_mem.c b/drivers/of/of_reserved_mem.c index 8d5777cb5d1b..313cbc57aa45 100644 --- a/drivers/of/of_reserved_mem.c +++ b/drivers/of/of_reserved_mem.c @@ -788,7 +788,8 @@ struct reserved_mem *of_reserved_mem_lookup(struct devi= ce_node *np) =20 name =3D kbasename(np->full_name); for (i =3D 0; i < reserved_mem_count; i++) - if (!strcmp(reserved_mem[i].name, name)) + if (reserved_mem[i].name && + !strcmp(reserved_mem[i].name, name)) return &reserved_mem[i]; =20 return NULL; --=20 2.43.0 From nobody Mon Jun 8 19:42:35 2026 Received: from mail-pf1-f196.google.com (mail-pf1-f196.google.com [209.85.210.196]) (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 49E5B37EFE3 for ; Wed, 27 May 2026 03:29:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.196 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779852592; cv=none; b=LT2ghdTVprYC+/yxYPWDHqpn54vlPr2N1fUVk9bo5ccgmQoq/JN5BgvzeXFtaNuhpRHFRrPPsM6Rct2Cco+zZBPfkoK03biP56qKhWfg7xWUze2+lbCkzZtHvMiuMaO2t6rLX+Bs522OBNLo7GIFdmVou3yDAhvx/wfrCiLK0gM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779852592; c=relaxed/simple; bh=ILe8sZYbhc1aPGHkfBxgnEvKOHpdfl8WUXOCF6YnUmI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ciKQU+x0S07RXbeCOgIn1EMxMefAcmgtIPUUivTz4SL47ADC21tAf7iprPt5GCOOp9/M9LK4cpnDHYn+XV2fT2yNLHkUUXTGLRo9eZjsnSaNsEemBnYkGwYiXa7rezlQnvClUuY5f7pKnWAioPWSqS1GmOSO8hXzWIXTSCBu1MY= 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=EOd/IDkG; arc=none smtp.client-ip=209.85.210.196 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="EOd/IDkG" Received: by mail-pf1-f196.google.com with SMTP id d2e1a72fcca58-841513664bbso3083504b3a.1 for ; Tue, 26 May 2026 20:29:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779852591; x=1780457391; 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; bh=D1eYeJpEHCAPY9Qi4Hjh6YOaoS1rocMPAJ4EFRgZ7L8=; b=EOd/IDkGrM7hPkwS2DXiUtSIAy72o1sRBJPS8ugd+FVASvGgnUbORy/mOZDRI5INtM DzXrh60O0r36rU7611E4tSriQKz+kjVS3mkk7GyP/93WazhzaRKZaanTYQYoDzqGHxga nWGyMO/i1/3H0oy+TypX5NOa284kw+GISmq7ykUzGozv46+LdGFFzav5e72OGxtJJ4EV fj0amUqoyHdOfVWci9ksUdurfPHgFVCV0C5LedUvTg2l8Dpm39vJVw2Hbzs63FhDWkcE CAoUKRKjlUZMCr+wKbJ9ApFZ/oCz5wPkS9cdGUfjf8H3CHn4ayLExIckxC5DpG+YNSGc NoCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779852591; x=1780457391; 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; bh=D1eYeJpEHCAPY9Qi4Hjh6YOaoS1rocMPAJ4EFRgZ7L8=; b=FQ6WnCzSOuhY15F9Bm+PN07NjGaUmSi5g1ke8ACuaxj7032eoXRfh6e2U/snXP0NVY //2859HHL0YYHmWvYCtBVAmqlpD0mZtb9tSgrtbYKsq9QPAC4x6nlXHz54zpLjRnAyD3 bLZXmYDDPqFrVwS5WU8HE5HNgxgGy/87r5j+h7kMcvIK78LtNakBZ9tQu+ucPRJrqYDH GbvPj70JMWv3DJMQNSJaK1fAf5lWAHthnI21WxPXaPtZakznh7jQDCJi6oXj9RT5ZMDI 9YdwVTNl9ZbXbZjM4A5qUuPWr2f/AusPrN5XVYXqYUpTNDko85rc4tGoIK4FSO8HTXqD +Sfw== X-Forwarded-Encrypted: i=1; AFNElJ86RoP4Ik5NXcB8p3ukjNIzdspZq5pL3P81CPzzflgLFcINHYx70jL+ciThbc+/YmuJfNvhd3qlKneb2Fc=@vger.kernel.org X-Gm-Message-State: AOJu0Yx1slcS2oDbqn+3nLvD81feVmo8MJOVwDCrv7Ca8biKBKoHn+ho ITS+4AI2pQfkm7+2zWWGxx8N6bmtfcsd6z+q3eSNf3YmTwYeSqUA6Eix X-Gm-Gg: Acq92OEbWFdK2t/IQ9KwAPlRWATUhFZack32aKGOhRk5iDP0t8V++iEfylBGdfdxpJy Cdn91NS6tpNQ1heKISMty3OnCHsf4+Xwos+JXP3Fp1SunQrrV2tXipKTdeSgupVe3CNtsVVSw/b NckFJWcGLuepX2U6kHxuW+unftBWwDDR6PNo2FIpbH+2S1eupi1AtixWS9IU6mnrHsdnjmBPGJQ keoPU4y6IHGScv61Q79AApEvxkurOerreaKwrH78PxW3O9Cs5v/Lq+Oabu2zrjGjzdEOWDjmvrj eelhcNz1U9tW7rbtc8swcrBp1chLzPrJydbPEC4QwlSjwliB2UxCYvSAquGd+E4YfoM/2aRhIVy DqdLxD8vY2hgdY66Q8uc93ZK/PPqfi0LSJlqKjXntHv8OmnwZd18I7Ulk39U+GMCACI8OQe6nLE FGlAzp6991ZHPUJML+j41qEK20wXqmCoFnxhBV X-Received: by 2002:a05:6a00:b483:b0:82f:6de5:90e1 with SMTP id d2e1a72fcca58-841611e8e64mr16309875b3a.24.1779852590643; Tue, 26 May 2026 20:29:50 -0700 (PDT) Received: from intel.company.local ([210.184.73.204]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-841d7307596sm749688b3a.59.2026.05.26.20.29.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 20:29:50 -0700 (PDT) From: Wandun Chen To: 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, iommu@lists.linux.dev, zhaomeijing@lixiang.com Cc: catalin.marinas@arm.com, will@kernel.org, chenhuacai@kernel.org, kernel@xen0n.name, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, robh@kernel.org, saravanak@kernel.org, akpm@linux-foundation.org, bhe@redhat.com, rppt@kernel.org, pasha.tatashin@soleen.com, pratyush@kernel.org, ruirui.yang@linux.dev, m.szyprowski@samsung.com, robin.murphy@arm.com, quic_obabatun@quicinc.com Subject: [PATCH v3 02/11] kexec/crash: provide crash_exclude_mem_range() stub when CONFIG_CRASH_DUMP=n Date: Wed, 27 May 2026 11:29:08 +0800 Message-ID: <20260527032917.3385849-3-chenwandun1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260527032917.3385849-1-chenwandun1@gmail.com> References: <20260527032917.3385849-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 Prepare for an upcoming change that excludes non-dumpable reserved regions from the kdump vmcore and will call crash_exclude_mem_range() from generic, non-arch code. No functional change. Signed-off-by: Wandun Chen --- include/linux/crash_core.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/include/linux/crash_core.h b/include/linux/crash_core.h index c1dee3f971a9..0033d4777648 100644 --- a/include/linux/crash_core.h +++ b/include/linux/crash_core.h @@ -87,6 +87,12 @@ static inline int kexec_should_crash(struct task_struct = *p) { return 0; } static inline int kexec_crash_loaded(void) { return 0; } static inline void crash_save_cpu(struct pt_regs *regs, int cpu) {}; static inline int kimage_crash_copy_vmcoreinfo(struct kimage *image) { ret= urn 0; }; +static inline int crash_exclude_mem_range(struct crash_mem *mem, + unsigned long long mstart, + unsigned long long mend) +{ + return 0; +} #endif /* CONFIG_CRASH_DUMP*/ =20 #ifdef CONFIG_CRASH_DM_CRYPT --=20 2.43.0 From nobody Mon Jun 8 19:42:35 2026 Received: from mail-pf1-f196.google.com (mail-pf1-f196.google.com [209.85.210.196]) (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 9B3D43806C0 for ; Wed, 27 May 2026 03:30:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.196 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779852603; cv=none; b=kkU8fXthxP5r8JPPSxeZPuWoVeyIshWp1Fs8nwagCpw7UXNn0uyleCrm7DgCNp6eYj6oGGw9rOaoTa/NH5ODvk292lZ3qQvMGy+K0EcnbY5n25vTKb2I70UsczVOeNdEUNmSG8hF6sce+ob5MXGZyqYx5SA9ZcYpj4VBoKVB110= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779852603; c=relaxed/simple; bh=xH1JOzQprSl00bucZAjsEsVNgmNvdSYAgclnF834gwA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Nk7/z4mIc+7zOvPzhQRKgnk7EjqPeg8ElVRvYvmm7yWqQVYTHcMt3AG3Rn4uZI3wGBbleJLfj5529ydaOQXLsS1STpbXe9j0YLE92yYUqQEtfT1KgRZWkUTjm6I0WpNs9qf+1FMK5NuDM+dT+k8cEA02Z0SZuh/FcVRQ1wLxh9M= 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=elinQQxP; arc=none smtp.client-ip=209.85.210.196 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="elinQQxP" Received: by mail-pf1-f196.google.com with SMTP id d2e1a72fcca58-841513664bbso3083539b3a.1 for ; Tue, 26 May 2026 20:30:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779852600; x=1780457400; 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; bh=nz17AGesBxrxvpMg+ldtjUwMkbrsU+FQ5Omh3mR+f58=; b=elinQQxPwTBIPtE9gVNqiRkf8SfeFb353ojg0ZMp8V0+DTrYiBZQvbj9Ups4K5o0iR CzQy0L8m3ApJ3chpg5MWBJm/RTBM713H/9cpLNHntGfJZrKxG+Jy0q5x31ye6jJVTs5Q ZdooTve6zjHvXp++0Xrf3AcnlFaHJmoyfM8TF6P5MOzPbqh5kOhp1W81Jam7pbiCNAmW JSJ25SGzhDYQeat6NnuDHBkWBkas7fBdlcw3naXl++mPYTLKFtOGMNjVsghljpATxlLi acE4bEnEOmLenL25v15iBkBMo8exNLOR8Ppp4uDCybkWTg9Fzn8bAIqT5nDVA71mKrKD kDhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779852600; x=1780457400; 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; bh=nz17AGesBxrxvpMg+ldtjUwMkbrsU+FQ5Omh3mR+f58=; b=YmtQ1iRJ9XlCyGjCZlURLfUyZ0OKncBPBf0ZR66CkvApOkRGFY0GcQYc0L7RNbZCCY gkO6ZDTPKf0VMrS1hIKnjzVYDsBOpe1+GfyTAjlUdx03MKNWIwNxXwL6znE5+NLUyhim n03N77lNDRlNm7If1cIvaOAu6HgKqpUQd4GMZb/rUb/yIG+PqSlQSP20Dl2K4dpFSn6k MiMVY+mqVuwP3ajbppt3siizt3kB+g5c9q3W9YDC/kuFWeLL+gocXmLlY8WMswqduJB4 1NI5cQHJo3XQR6ccZUijD2JbFHD/c7/lVm3SKdJtL4722L2qVg7LusiYN3TC5PRCYyvZ fbPA== X-Forwarded-Encrypted: i=1; AFNElJ+R+ktdDBZGTF6wNOymHg4s7foY/gCMIx5cB01/SvgVM2kQaliz3Woh6sItD73NGjAmSjW8shWCeoqjFoE=@vger.kernel.org X-Gm-Message-State: AOJu0YztZ9z1R3lYteXQSa0DehZbHkQpJ90dYUnDUI/nlM40vjp6TMhR pwd3v/3LYtQ3QnldyEnBvUFl1k2ARd8gC7MKorDpd9CyILr1vp4cLudE X-Gm-Gg: Acq92OGhiTg13F5Lh6Lc7TPLdy0zAbrFtdyWxQGtH4asH9NaP3Rpffur8o8QOGrd7EZ qO51oGsphZ+uDVBZrkUZ4Zmi5AHq5M553IbjL3BRZGmvAMKbld1RGlr6AzoII/rUhq7+jctFs+V GKO+KNtSrqeoqYH09S75ndfBw/e0LIX5HMxsOF2A8u0xxrdspX61i77cXj/K2VlRdUsWRQjgf2r a/xYAu6BYHszs5AUhiBCEdPobd1AbSKKY4jUUXPfacqB4e7FKOiPdFh44pzwiSo1BqQeb9qL5f6 X4/ZWjvoJOZq8vuBEiv88wCGyLgnSPu+3UaUSNNcOVlgA6OnmpLdQ8iCHxGX6G5eqHHo9/aQA/S 6WRDVE5Fi+Jei57xwEzbqCE1PBQ6iovj1TCKBO93b+y4gr8sbROu4fTiY+OORPpjlvO125DNVSn nbdBwDO98aM1uOugkzWOc5ZcN3trnWC+lJJxDG2Dg+h5ebX98= X-Received: by 2002:a05:6a00:ab86:b0:82f:7cb7:63c7 with SMTP id d2e1a72fcca58-8414b427c3emr17125755b3a.11.1779852599870; Tue, 26 May 2026 20:29:59 -0700 (PDT) Received: from intel.company.local ([210.184.73.204]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-841d7307596sm749688b3a.59.2026.05.26.20.29.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 20:29:59 -0700 (PDT) From: Wandun Chen To: 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, iommu@lists.linux.dev, zhaomeijing@lixiang.com Cc: catalin.marinas@arm.com, will@kernel.org, chenhuacai@kernel.org, kernel@xen0n.name, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, robh@kernel.org, saravanak@kernel.org, akpm@linux-foundation.org, bhe@redhat.com, rppt@kernel.org, pasha.tatashin@soleen.com, pratyush@kernel.org, ruirui.yang@linux.dev, m.szyprowski@samsung.com, robin.murphy@arm.com, quic_obabatun@quicinc.com Subject: [PATCH v3 03/11] of: reserved_mem: avoid post-init UAF when alloc_reserved_mem_array() fails Date: Wed, 27 May 2026 11:29:09 +0800 Message-ID: <20260527032917.3385849-4-chenwandun1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260527032917.3385849-1-chenwandun1@gmail.com> References: <20260527032917.3385849-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 global pointer 'reserved_mem' continues to reference the reserved_mem_array which lives in __initdata if alloc_reserved_mem_array() fails. of_reserved_mem_lookup() is exported for post-init use, that would dereference freed memory and trigger a use-after-free. So reset reserved_mem_count to 0 when alloc_reserved_mem_array() fails. Fixes: 00c9a452a235 ("of: reserved_mem: Add code to dynamically allocate re= served_mem array") Signed-off-by: Wandun Chen --- drivers/of/of_reserved_mem.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/drivers/of/of_reserved_mem.c b/drivers/of/of_reserved_mem.c index 313cbc57aa45..6d479381ff1f 100644 --- a/drivers/of/of_reserved_mem.c +++ b/drivers/of/of_reserved_mem.c @@ -69,29 +69,31 @@ static int __init early_init_dt_alloc_reserved_memory_a= rch(phys_addr_t size, * the initial static array is copied over to this new array and * the new array is used from this point on. */ -static void __init alloc_reserved_mem_array(void) +static bool __init alloc_reserved_mem_array(void) { struct reserved_mem *new_array; size_t alloc_size, copy_size, memset_size; =20 + if (!total_reserved_mem_cnt) + return true; + alloc_size =3D array_size(total_reserved_mem_cnt, sizeof(*new_array)); if (alloc_size =3D=3D SIZE_MAX) { pr_err("Failed to allocate memory for reserved_mem array with err: %d", = -EOVERFLOW); - return; + goto fail; } =20 new_array =3D memblock_alloc(alloc_size, SMP_CACHE_BYTES); if (!new_array) { pr_err("Failed to allocate memory for reserved_mem array with err: %d", = -ENOMEM); - return; + goto fail; } =20 copy_size =3D array_size(reserved_mem_count, sizeof(*new_array)); if (copy_size =3D=3D SIZE_MAX) { memblock_free(new_array, alloc_size); - total_reserved_mem_cnt =3D MAX_RESERVED_REGIONS; pr_err("Failed to allocate memory for reserved_mem array with err: %d", = -EOVERFLOW); - return; + goto fail; } =20 memset_size =3D alloc_size - copy_size; @@ -100,6 +102,11 @@ static void __init alloc_reserved_mem_array(void) memset(new_array + reserved_mem_count, 0, memset_size); =20 reserved_mem =3D new_array; + return true; + +fail: + reserved_mem_count =3D 0; + return false; } =20 static void fdt_init_reserved_mem_node(unsigned long node, const char *una= me, @@ -266,7 +273,8 @@ void __init fdt_scan_reserved_mem_late(void) } =20 /* Attempt dynamic allocation of a new reserved_mem array */ - alloc_reserved_mem_array(); + if (!alloc_reserved_mem_array()) + return; =20 if (__reserved_mem_check_root(node)) { pr_err("Reserved memory: unsupported node format, ignoring\n"); --=20 2.43.0 From nobody Mon Jun 8 19:42:35 2026 Received: from mail-pf1-f194.google.com (mail-pf1-f194.google.com [209.85.210.194]) (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 D1BCE381B10 for ; Wed, 27 May 2026 03:30:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.194 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779852616; cv=none; b=t9nWTqQv0V5fVch+DMyWy6roJSP1JoI1iA6T4ncmE4l533PEjKz9LMCkwqHVS22Gi83/BftuvlYKn3oy0ihXlapyGKCmtC4zKEM5vrVlzpCmYFThNsCoGhaZxaELL89difQi0l0AzNyUKammcnjWZS+F2X+sXacF7vMoQvPrcM8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779852616; c=relaxed/simple; bh=0GF77B/l7C6m3TWqquzykyeLEm1mct+rjQ45uWrXXdo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LSYXx5LKhh/Di/Rw1nmtxFP6Tfs4wfNLKtapg59AE3fQwvkfHGuEPQnlYaSyByLGdcwepbp/q6Z9xUzEVKeFsl3H8nFaouP7bPP1W36dUosdOPucPFbsRZyJMfDaioO8bccnFvTgzdmJJm2rXOqE1bSMSWJI3g8gL9BzOBEGu4M= 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=ioweR4Iy; arc=none smtp.client-ip=209.85.210.194 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="ioweR4Iy" Received: by mail-pf1-f194.google.com with SMTP id d2e1a72fcca58-82fa8d6425bso5126329b3a.0 for ; Tue, 26 May 2026 20:30:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779852613; x=1780457413; 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; bh=PmAA5z5t6XdNPHFYJxkTDYvo5Zq4DgJyNWi+6SrmBDo=; b=ioweR4Iy1UDwwELI+whYKpUFgxKVp4RycpOS2dAX7e4svUcXBFFBPqeVngGykN829B 3Y9Ww8SmnG62r7TwH7jPkE/dhRSVuYJbSh3rdXSKl1RaCc5rpc+xv0mIG9+Q+tHdyXWC HJxl32ILbYtoy0DXQN4ObSNGG7LXRPwNRyB1hInR40oOiU1knmOK1iJQGjNt2nr5xpvl seciX+9+lMMnd9LMnwVUbnWxEspfOowqxd2lHZeJfTEbzSAil6zX+sUwThzh63eig+qH RjXG+rVS3em/aXrZAFPsUgkW0Nff0s1eJvb+bpN5oYMI4O0HqI/LwMRS4sesaa8aXtjY /h7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779852613; x=1780457413; 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; bh=PmAA5z5t6XdNPHFYJxkTDYvo5Zq4DgJyNWi+6SrmBDo=; b=PBlpASilB3G3kxMGsyDw7iX7Ng0IXVel6JsklRQuhwnVU7kta4qQNfoarKhXu2lyhH pv2UEETp2ScOAE7uvc5+azo8lk2E+W/X9hZ4LAEN6nTFMfl0nbrhcfymgK0qUlK6Hm6d ClUoAkaZAHeXFoHTq4Hvx2q1bu5l1+ELpoYGYsgmEhYP0wE2SzPJgqz9KoP0Uyqcopwz LgQCCqw6pyCA8wYvdAsOUamijgz2hYLHISRCBqlM9tT2csON+zpjUFMjvvOHqJJA99lw qwKzI3hoZP1fLgS2K4VtH5KxxZEh8dpyXOliLHPIlT1WtOtgf6N52rjR4vTu5fi+7rtR 9N6Q== X-Forwarded-Encrypted: i=1; AFNElJ8l18ihDb87fs+TB1nkU598VlLz33/pQRKHQefHbTHdCoURl29omtkzxtVPBIu68PycjkaNXierpjj5Geo=@vger.kernel.org X-Gm-Message-State: AOJu0YzzFD0bcxBOnf5Uyl6zM2yOYhzXT2BG3j6zKnuC2towUYSEXbOf jROQQdVRy5Omi6rDSbIrcJZFCHZUb/sent30puq4Ih/qP7VheUxtXdbO X-Gm-Gg: Acq92OGVGC7+pODM5XaAv4Tj8WsQ9+I0lUWaoaeQSw+FyGA8oAo4EOat/AEwA+XgPSN SMiaSjPZQDJPniUD6kdXh71WSp/TrlDcST58wGp7T4HibcFSPm0CEG6P0thn46xh3r3LmFVu2QN n/Gmq5ElnElnclp98hP0ttS/bVQMbsMm/gzjZ+u0TLTaUIlFJ5UwKsh8OUT9JVyeGIsCXZ0Mjxn YSdgAdh3fpGWmwJsZWGz7KeejscQiA+bkARbVmF8mfx46n8thOKanZ++Qb2OpiUgcmS8XrInezg qaTGBOnX39O8LdEE+zTgC7yG8qqNdfNRxdKc/W98jU2P9bEZJytQ/w2XWpnj1nh3lpAYsAii8V2 5JYxyGPnx2SKct2otzeO0CuqWfRK1BNvNodETD32jtNxYnPtH1et9orBRNW7+eZGVIifaLTu6Vq 6xcWTG2xX0tWsvlNMnwN4oRO0Ihh0aHIyE9JniQDeRII5Jezc= X-Received: by 2002:a05:6a00:1407:b0:838:c01a:7a50 with SMTP id d2e1a72fcca58-8415f406e6emr20083726b3a.30.1779852612592; Tue, 26 May 2026 20:30:12 -0700 (PDT) Received: from intel.company.local ([210.184.73.204]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-841d7307596sm749688b3a.59.2026.05.26.20.30.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 20:30:12 -0700 (PDT) From: Wandun Chen To: 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, iommu@lists.linux.dev, zhaomeijing@lixiang.com Cc: catalin.marinas@arm.com, will@kernel.org, chenhuacai@kernel.org, kernel@xen0n.name, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, robh@kernel.org, saravanak@kernel.org, akpm@linux-foundation.org, bhe@redhat.com, rppt@kernel.org, pasha.tatashin@soleen.com, pratyush@kernel.org, ruirui.yang@linux.dev, m.szyprowski@samsung.com, robin.murphy@arm.com, quic_obabatun@quicinc.com Subject: [PATCH v3 04/11] of: reserved_mem: zero total_reserved_mem_cnt if no valid /reserved-memory entry Date: Wed, 27 May 2026 11:29:10 +0800 Message-ID: <20260527032917.3385849-5-chenwandun1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260527032917.3385849-1-chenwandun1@gmail.com> References: <20260527032917.3385849-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 Prepare for storing /memreserve/ entries in the reserved_mem array. Zero total_reserved_mem_cnt if no valid /reserved-memory entry, instead of keeping it's initial value of MAX_RESERVED_REGIONS, this allows accounting /memreserve entries based on total_reserved_mem_cnt in a follow-up patch. No functional change. Signed-off-by: Wandun Chen --- drivers/of/of_reserved_mem.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/of/of_reserved_mem.c b/drivers/of/of_reserved_mem.c index 6d479381ff1f..05defc91e901 100644 --- a/drivers/of/of_reserved_mem.c +++ b/drivers/of/of_reserved_mem.c @@ -329,11 +329,14 @@ int __init fdt_scan_reserved_mem(void) const void *fdt =3D initial_boot_params; =20 node =3D fdt_path_offset(fdt, "/reserved-memory"); - if (node < 0) + if (node < 0) { + total_reserved_mem_cnt =3D 0; return -ENODEV; + } =20 if (__reserved_mem_check_root(node) !=3D 0) { pr_err("Reserved memory: unsupported node format, ignoring\n"); + total_reserved_mem_cnt =3D 0; return -EINVAL; } =20 --=20 2.43.0 From nobody Mon Jun 8 19:42:35 2026 Received: from mail-pg1-f194.google.com (mail-pg1-f194.google.com [209.85.215.194]) (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 E5E10383C88 for ; Wed, 27 May 2026 03:30:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.194 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779852628; cv=none; b=EbHpVTrQU3PyC2iE+8CkaMByhQOsBG+tQGJVoPoGJPFsR0di8H/6dLDmuYlbxXT/2IPdWi5Dkn9aURW/jUB0yU9KCA4SQ7E0FTk4QuUPMSOA/HnIz9btvcnlkOvyuMolwC+mjlKB1gmuiz45p00NDqZKxacByQdgpyqXSfS9Ry4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779852628; c=relaxed/simple; bh=7kxqwwsFAI12NVUnaU7kq1LIiiUSTsB+7iEGWDm4OPM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=a+RgNGN6o1b+N0FuVZt1vqaOP398cS94seIb0hHIQr5jO+04PJAFK82xlrw1pyjIFv7rZkJebUuQv63O6luOLcsL0LJ1aGcL4WQkOMnesKkmDnUZhIfRh3N6adhYgj5oNfRsaDKsQtNCl0ASIjzSBcdFvuQhpFNoSTowk1thEFg= 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=CCs43JIu; arc=none smtp.client-ip=209.85.215.194 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="CCs43JIu" Received: by mail-pg1-f194.google.com with SMTP id 41be03b00d2f7-c80148ae949so4531220a12.2 for ; Tue, 26 May 2026 20:30:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779852625; x=1780457425; 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; bh=DuujAuF8eXBWdShhG/kW229CX67XgkUB6V+YnX45VpI=; b=CCs43JIu/zzgWir7yga/+29+T9mgm7bHzC5JN8RCZp+jKgYRqPtE2Ew1VWaCKNb4mQ jNE+cxLLDZxxl44pkoNwdGuCd7q2hdGKIUffbo5lmaWdFeXSHXFKREZWZ6s/M5ppBzZT r+saj2cURBfPfz+wO+h84Fmvj8MnK5b0WaAkwb3FzHNpDaCGex2lc2jVQIe8XrErHqRy ha61Zm3nM1lczQT0wG20BK+JVakYkCktty2c3X3VsojSqO/Bi6yu1Baz9n7Hc5OuYwB1 yv2iWlKFkQ0k9AOQp1nRK+m1u3kmC7+6lnJQkAQoB2tARviXsTlZE1ZTZP/+yuQ/VaUD msBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779852625; x=1780457425; 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; bh=DuujAuF8eXBWdShhG/kW229CX67XgkUB6V+YnX45VpI=; b=kSiv+hAsl0agdAhD3Olsf5T+VBFA7Tew6qNexb67+QVietN0POhjuWHp6/ihX6AZTp 0p7fivaCWL7xMVp5OcI8OxgyuaFSN9RPeGdrMe4vGfXI0q/NjtXg0SrrOejbhFVExTU5 VHZbt7Cf4BiyR2U+LF83kNNqlImlN1bBF+DyfjEeH/1T6l0oZ9VFkj7rYtKeViAXLi3G fJi0fasdp6Oyc8zc3XQuOYL1EuDAGKz9BqmoBd30cdDSi6hxa3b/6KnPn5xjVKJYXb3z e4jRWa6haCXoBAvov9FEKn05SVW2hSyX5grFA3TEr8p5C2XNAyA6NdETFyGK2LHXH964 xcOA== X-Forwarded-Encrypted: i=1; AFNElJ8hcNNXVfhUwBKYf+JZDUsmn2SQ7HoQJ4dNOx7p3B+Ccj0MEzG+Q3POXE9y5txY17KH9jmsAtX1Qwu3XqM=@vger.kernel.org X-Gm-Message-State: AOJu0YzQLV987x99gU9SXGJi1hwgRK6vHaB8/4cSxxIdxrmjCNbcsSm5 59roreFgrME1rUuedk3KNX8QZyp9BaaWUfPgRTcEjktc2XUTu7isKXzY X-Gm-Gg: Acq92OEbwvZYxEmgcCu8D9K4FfiSsKr8y6pp1KH14WkpNBpY+Rckaf0vOY/Xs4zIbar UDwxxwtPNhGIOsrIgSfzg7pSS72qEjow7o8wAMYdTTFxSELUUyhLT6LNJjLRN7kwz8Z2BygtPgx /Q+yFXwcgG/aeA+R0HMsQOZY0t39LEP8yO6IXumTGg5m/6girLVOp+E0T20ht56df6AEi2hEfVF jCivAbzcq7JDjjSX6VCEgwRrgK/JEbsgG0q06Eg85NZcgz7pfXTUl6FBRLioUmxOiWo5VUzwtmc yK+3Zzr8uAwIiBshB4uOspNanmay5kikAKDNZs1D+Y2g1MfJP7haiE1CykR9W8sLjyrHsWh6R+D iYicBwLjU2SZ2913B1go5vf1pH4jfDBypyAhJmISHeZdJG2v6gM1NOcfkIXgwwGa7+8aTZsXNw0 0G2yxxNhO24l7KR2yBKAS7q1fK3d/WhBr+g7+H X-Received: by 2002:a05:6a21:6d81:b0:3a3:17f8:bedd with SMTP id adf61e73a8af0-3b328cc257bmr21442620637.17.1779852624627; Tue, 26 May 2026 20:30:24 -0700 (PDT) Received: from intel.company.local ([210.184.73.204]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-841d7307596sm749688b3a.59.2026.05.26.20.30.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 20:30:24 -0700 (PDT) From: Wandun Chen To: 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, iommu@lists.linux.dev, zhaomeijing@lixiang.com Cc: catalin.marinas@arm.com, will@kernel.org, chenhuacai@kernel.org, kernel@xen0n.name, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, robh@kernel.org, saravanak@kernel.org, akpm@linux-foundation.org, bhe@redhat.com, rppt@kernel.org, pasha.tatashin@soleen.com, pratyush@kernel.org, ruirui.yang@linux.dev, m.szyprowski@samsung.com, robin.murphy@arm.com, quic_obabatun@quicinc.com Subject: [PATCH v3 05/11] of: reserved_mem: split alloc_reserved_mem_array() from fdt_scan_reserved_mem_late() Date: Wed, 27 May 2026 11:29:11 +0800 Message-ID: <20260527032917.3385849-6-chenwandun1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260527032917.3385849-1-chenwandun1@gmail.com> References: <20260527032917.3385849-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 Prepare for storing /memreserve/ entries in the reserved_mem array. alloc_reserved_mem_array is skipped if the device tree lacks a /reserved-memory node, pointer 'reserved_mem' continues to reference the reserved_mem_array which lives in __initdata, storing /memreserve/ entries into reserved_mem_array would result in metadata loss, and an out-of-bounds memory access will occur if the device tree contains more than MAX_RESERVED_REGIONS /memreserve/ entries. So split alloc_reserved_mem_array() from fdt_scan_reserved_mem_late(), and call alloc_reserved_mem_array() whether or not there is a /reserved-memory node. No functional change. The actual /memreserve/ population is added in a follow-up patch. Signed-off-by: Wandun Chen --- drivers/of/fdt.c | 7 +++++-- drivers/of/of_private.h | 1 + drivers/of/of_reserved_mem.c | 6 +----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index 82f7327c59ea..83a2a474831e 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -1284,8 +1284,11 @@ void __init unflatten_device_tree(void) { void *fdt =3D initial_boot_params; =20 - /* Save the statically-placed regions in the reserved_mem array */ - fdt_scan_reserved_mem_late(); + /* Attempt dynamic allocation of a new reserved_mem array */ + if (fdt && alloc_reserved_mem_array()) { + /* Save the statically-placed regions in the reserved_mem array */ + fdt_scan_reserved_mem_late(); + } =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..50e5a533e059 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); +bool __init alloc_reserved_mem_array(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 05defc91e901..888dcb6bdce5 100644 --- a/drivers/of/of_reserved_mem.c +++ b/drivers/of/of_reserved_mem.c @@ -69,7 +69,7 @@ static int __init early_init_dt_alloc_reserved_memory_arc= h(phys_addr_t size, * the initial static array is copied over to this new array and * the new array is used from this point on. */ -static bool __init alloc_reserved_mem_array(void) +bool __init alloc_reserved_mem_array(void) { struct reserved_mem *new_array; size_t alloc_size, copy_size, memset_size; @@ -272,10 +272,6 @@ void __init fdt_scan_reserved_mem_late(void) return; } =20 - /* Attempt dynamic allocation of a new reserved_mem array */ - if (!alloc_reserved_mem_array()) - return; - if (__reserved_mem_check_root(node)) { pr_err("Reserved memory: unsupported node format, ignoring\n"); return; --=20 2.43.0 From nobody Mon Jun 8 19:42:35 2026 Received: from mail-pf1-f196.google.com (mail-pf1-f196.google.com [209.85.210.196]) (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 D3ECA382F27 for ; Wed, 27 May 2026 03:30:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.196 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779852640; cv=none; b=lJnJGA2zIasRI27s7/o2caWqQZ9fDtynPeEnrXvhY1ukjtzbSx2FE65OXBT5mzhdzWIcZxzY7jM/oDSC2GNtSfNkveSDuygA2Gt/32f/mmsYOeT2j70SzHu0AiUs/7AnSbE7Q1e0dTtH/a/TmZVAyQKaYYF1QY+a1FqATgG8t1Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779852640; c=relaxed/simple; bh=Da0oBjp44x8BvyVj0AmgQWkstuuP08sX20VzouoaLK4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bf6ju16xZZK60pB63G5I6PHZuRRX8HpQReC6TpbK6A1EScJZ2zsboYisUom7D1cgYO119Jw4aBBA/k9CzgepXb4nOmC60rsI5P9v3tQWPuMRsuleLqGfY6ZoNJQ+eLWcHWERyJNbgGd0XuFo2ebrwm7eXb2uPTAFqVFX/ij7+fM= 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=flOgeohb; arc=none smtp.client-ip=209.85.210.196 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="flOgeohb" Received: by mail-pf1-f196.google.com with SMTP id d2e1a72fcca58-83ea84df1d0so3809940b3a.2 for ; Tue, 26 May 2026 20:30:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779852638; x=1780457438; 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; bh=hKDMR5TAGwiz4Z0dhIjLc6hZgq3gL98geqqMieh10P4=; b=flOgeohbcvCEw9Kgjt+5g+tX9miIdczk8Yw2+ILOaPmkuhnxdLvCNpR2AHZX8SrE7s oKP1QPTBmDyMvsEFApDtcmG67Bv7NuaqF4X90rva+GeO9OtXivhjpoeTlaiZ7qjHuYHE yi4BVl9R74T4O/laWoaWF1TmpcGSnkFShJifl51gM23tj1kAgmTu60pogVIqy7+Oc69b ExtfUVBhaa+XSqHeZG/N10O/+kzTsE1tnB5o5MgmKqRBX8dVVaK1TVeT8ZF9nQxrT2XR 1CYsReC/sJDNE3EUwb4F+dxS1y/baKV4gsJl+pC4jqteCdd6+mHQCoowdeKR5erqXsHR qXAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779852638; x=1780457438; 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; bh=hKDMR5TAGwiz4Z0dhIjLc6hZgq3gL98geqqMieh10P4=; b=JWIosUgV0no7sxWVlnCQB2Z3hYd6RkPgz3nZpyOPDwO5SgwEsnsXKdfhO+mU/yBrd6 0op0Pt1I5fdowkL7/JO9Hd6xRZr1wHzh6cPo8CrxcqhvPIXcy7kZR0Z5mojyvtcYO9eu SBK9HoICFWSvE9E4UFPhNtq5+rKn2IRpLMT5zOSVE3IU34klKk90tyeAkzgFGdHPNNpd cf3nuj+yKMJ6Sq5XasNdPQ0pMfUDUXby3W/FzH7l9STCqv7wmoymIAbajck0N54TdYuf teYLnjUX2b/e/VU+ZyjV2azfVwWMpSnVu8FVXmFn4Dlf5QqxavBfw0wPDQr9YQckcM9N k1bQ== X-Forwarded-Encrypted: i=1; AFNElJ+IcbDa2EoIFeno/uE2ZD3Z6xlV089ej7A68kfU6g7YLN09NLjTxqklhGllOCcP203WRFToz8r7WGpUfG0=@vger.kernel.org X-Gm-Message-State: AOJu0YxRcNp2rNxd+HU7JRqH94Sna2k3Zr+NU+TFex6fFTi8qWknl8gb OVnQf76kTgEWqYsRpvd3C3DAXC4oVTPfGKQqhmDabFeGJXbLgnpPSBma X-Gm-Gg: Acq92OG3jOKlryMOW0d1oVR4+hLUHCfZ5fNLiQmGZJ2uR5R4Cr1/hrxFRONdEsJu1fT hxNwSt26PbkLHvsjZ/MCxKK1+rcYjAQnUlU4C5ewq99aawaAtCA29/vS9upKFK5nk+AUq75eYwj RxQaAyaYOLW02MUUjJ53uTUSb/jlyjRwtCqLD8HCmKCxp5LKRKI7C8+vTyjHsJuC2SAfxWHS+Qg imnYdm4ARdPSfAgy+IZqFVaNnMYrx50jgpTcD63YnAvWS53QDahjVRgoB7zPeXvGDh2QpQJXkEa jym/nQcEyY6YjSSBKgb3wl96E1SGjAx/UkKMFAPiaAbmpwxHqg5T5Aqr+HcGy2oTeaWiY554bmL VB2mVVHIBKIfe/4faVEr+jGkbC61drykOpmez1+gH41ALbiJuiKkPL3XxmBG/FUZxd/5ZmkFIFM 3ozv2enErByB+n8cBjfwR86pjuPl1K+tXHOW6e X-Received: by 2002:a05:6a00:1d9e:b0:835:38db:82f6 with SMTP id d2e1a72fcca58-8415f69ea9cmr20057592b3a.36.1779852638276; Tue, 26 May 2026 20:30:38 -0700 (PDT) Received: from intel.company.local ([210.184.73.204]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-841d7307596sm749688b3a.59.2026.05.26.20.30.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 20:30:37 -0700 (PDT) From: Wandun Chen To: 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, iommu@lists.linux.dev, zhaomeijing@lixiang.com Cc: catalin.marinas@arm.com, will@kernel.org, chenhuacai@kernel.org, kernel@xen0n.name, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, robh@kernel.org, saravanak@kernel.org, akpm@linux-foundation.org, bhe@redhat.com, rppt@kernel.org, pasha.tatashin@soleen.com, pratyush@kernel.org, ruirui.yang@linux.dev, m.szyprowski@samsung.com, robin.murphy@arm.com, quic_obabatun@quicinc.com Subject: [PATCH v3 06/11] of: reserved_mem: add dumpable flag to opt-in vmcore Date: Wed, 27 May 2026 11:29:12 +0800 Message-ID: <20260527032917.3385849-7-chenwandun1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260527032917.3385849-1-chenwandun1@gmail.com> References: <20260527032917.3385849-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 so the kernel can decide whether a reserved area should be included in the kdump vmcore. Most reserved regions are owned by devices and do not contain data useful for kernel crash analysis, so excluding them by default is the right behaviour. Reusable CMA regions are different: pages in a CMA region are handed back to the buddy allocator and may contain key data for crash analysis, so set dumpable to true in rmem_cma_setup(). Suggested-by: Rob Herring Signed-off-by: Wandun Chen Tested-by: Meijing Zhao Acked-by: Marek Szyprowski Link: https://lore.kernel.org/all/20260506144542.GA2072596-robh@kernel.org/ --- 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 e8b20b29fa68..55a67cee41ea 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 03f52bd17120..eddec89eb414 100644 --- a/kernel/dma/contiguous.c +++ b/kernel/dma/contiguous.c @@ -579,6 +579,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 Mon Jun 8 19:42:35 2026 Received: from mail-pf1-f195.google.com (mail-pf1-f195.google.com [209.85.210.195]) (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 3647C380FC1 for ; Wed, 27 May 2026 03:30:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779852652; cv=none; b=C7Mg0rgOY/tK98c/Gak6+qQEs36eDagetdRldHvNwBG24DEl9AL3aZ4jP2J6p+/gEVvytPREEdpDyvVUxyw8bcORCltrtEfO6BaQinzBSsCqdfnCXGdiCymz7llV4MUVtL4h93cY4msmZLfU7wdPWYt2JemNxiMfB6zNQPFJGE4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779852652; c=relaxed/simple; bh=IfXCRdmwexWW7Vbl6gjRH+otd/tf2AYvx96uLWwkESU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Sw/kYM8pkCdrSJMcsdl4DdDI1QR/dAOBT3afx6dbt0Ws/bFLwQr2ZfCOFvrjr9GiRe+RvjDrRq53NcFHbhUZDh6hUq7f/tSxk/Z4BMmlHpmmG+CM53audwHMWACMoyEhKpvl8Sf+1vDO3IC40hVNjmXeWIvsBx4OclVlBGnSMwQ= 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=QYuD8Uky; arc=none smtp.client-ip=209.85.210.195 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="QYuD8Uky" Received: by mail-pf1-f195.google.com with SMTP id d2e1a72fcca58-8419ab3a297so1122586b3a.2 for ; Tue, 26 May 2026 20:30:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779852650; x=1780457450; 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; bh=/p28EH8R5CXtCwys+lC44uig9HB9HdXcu6ohyUKifVw=; b=QYuD8UkyKAWZpcloUN43v/rj1KBlIvogoBs612u3q1Y9U82dMB2YlUJ3XbWhIy0nOy M9auMf58UPrOiveBzHRl7RXiJRzhNPXJKk3gIxiDbkGhfGVBAsOy+87oSjf/4OeKr6Gi UIGC1qDqNA7Ul+YOdJOLSDbPJMxpsrV4YuyG7TPCKhLMwnYoIJL/ZFRoYT7bonI77NP0 lzqqRQAexyM7SqE+N8qQO288U557pllxZLW3t/hrdwRwtsljoaxvlnRZfJtknoNpB5TH MR14+ciHBJI3jFGEWRkXRslYvN3SzK4FpV2Y1L4gHPoDjL3/YqhS/zzmV9UUrAjBNPfX +5kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779852650; x=1780457450; 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; bh=/p28EH8R5CXtCwys+lC44uig9HB9HdXcu6ohyUKifVw=; b=CH8eJUXAuPcS55ql8oKCeZXaUQ9IpnMUxfbLGylbsVPb9TVpgPZMDRy2VqGFDvnHTK u/f+gRSVQDVoic5Rn/My/R803ekGvirM+RVHeTe0DQo2/okDSAUp2UhFtTdSzlAlHCW2 suHimM+XNyepDwrXVH50zk8NzftVoh7PScupEc+XFtdD+1bwDJ/dqAwDzb0x66HOQ9OP aXBN9QHlxQaZS45TldPT/aa7Kgix3SLLEomAYVfqE9Uq3iy0OkQTqryfaH865xZrvcyd S+8Ty03WSlxR6/3/1IP4N8v28bD5EOxEDCydVRqK/9kaL/u891SSpRHKUrp7SvkAhSDk 19ug== X-Forwarded-Encrypted: i=1; AFNElJ/m0VXsC7d1SWRmRxvFXWyjdhMzfCSCLWw+cZEkx6mYMkgmZRvxhLX6xrHlrB+1pCvwGRq5RntvynR8gQI=@vger.kernel.org X-Gm-Message-State: AOJu0YzoqQQoJcWuUorxHzwALcI5GORg6376HCqmq3qi7/CteFaZk38j JGQmx/LtAYWD8i7ts22xWz6rHxncxolpFSRrW/C7m0xad1kSF9D2us4x X-Gm-Gg: Acq92OGRlB9VyTC9/ZxPchiCncehnxfaAClcwa2F3ZVROm2J03CrDFI72WAj3UZfKib rtVe8jTX2lAmIOai1wdVs1Vgc+oXXG7qNH0IYV6CXAdnsKBLTdoK9lOVBEHa8/lZKzvqBJY+2Jx A6BG5bSIbn2H/0fNacOrYAkjp83HNyAJ+JWWQY+jIghTbYR+8lne6ImgMWV1SH1hEHe6sfxqvl0 6xkH7d7eaq+E1Mc4iBemC2hYEY3Vk3/FEeodCIgvUOB4m7IvvSnZ/SRQEEuYTgVNPzxj3W7Uclq LE9LrUpgE1dHPt+ly55bc5kbtyQFRuBEpdrMpU4hvKhrcIRAs40Kl2o81hOkPDcygUODu2jtglK b1dgWwEhGxs5xiWeIa/HGziUO0udtZ3M6mPqEIvbC0MXYpUg/Lw330BlqbJIf1K8EKRE8N2oYTs KxcbhK6RZ4on6hphXUxEgB7p+MarpP7BAdqVlV X-Received: by 2002:aa7:930a:0:b0:82d:24f:2509 with SMTP id d2e1a72fcca58-8415f0e26b7mr20587500b3a.1.1779852650451; Tue, 26 May 2026 20:30:50 -0700 (PDT) Received: from intel.company.local ([210.184.73.204]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-841d7307596sm749688b3a.59.2026.05.26.20.30.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 20:30:50 -0700 (PDT) From: Wandun Chen To: 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, iommu@lists.linux.dev, zhaomeijing@lixiang.com Cc: catalin.marinas@arm.com, will@kernel.org, chenhuacai@kernel.org, kernel@xen0n.name, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, robh@kernel.org, saravanak@kernel.org, akpm@linux-foundation.org, bhe@redhat.com, rppt@kernel.org, pasha.tatashin@soleen.com, pratyush@kernel.org, ruirui.yang@linux.dev, m.szyprowski@samsung.com, robin.murphy@arm.com, quic_obabatun@quicinc.com Subject: [PATCH v3 07/11] of: reserved_mem: save /memreserve/ entries into the reserved_mem array Date: Wed, 27 May 2026 11:29:13 +0800 Message-ID: <20260527032917.3385849-8-chenwandun1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260527032917.3385849-1-chenwandun1@gmail.com> References: <20260527032917.3385849-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 /memreserve/ is used by firmware or bootloaders, such regions hold no useful data for crash analysis, they should be excluded from the kdump vmcore, so save /memreserve/ entries into the reserved_mem array for later exclusion. If a /memreserve/ entry overlaps any dumpable reserved region, mark the whole memreserve entry dumpable as well. This may keep slightly more memory in vmcore than strictly necessary, but avoids splitting entries and never drops data that may be useful for crash analysis. Signed-off-by: Wandun Chen Tested-by: Meijing Zhao --- drivers/of/fdt.c | 4 +++ drivers/of/of_private.h | 2 ++ drivers/of/of_reserved_mem.c | 55 ++++++++++++++++++++++++++++++++++++ 3 files changed, 61 insertions(+) diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index 83a2a474831e..745e53b1c564 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -499,6 +499,7 @@ void __init early_init_fdt_scan_reserved_mem(void) int n; int res; u64 base, size; + int nr_memreserve =3D 0; =20 if (!initial_boot_params) return; @@ -516,7 +517,9 @@ void __init early_init_fdt_scan_reserved_mem(void) if (!size) break; memblock_reserve(base, size); + nr_memreserve++; } + fdt_reserved_mem_account_memreserve(nr_memreserve); } =20 /** @@ -1288,6 +1291,7 @@ void __init unflatten_device_tree(void) if (fdt && alloc_reserved_mem_array()) { /* Save the statically-placed regions in the reserved_mem array */ fdt_scan_reserved_mem_late(); + fdt_reserved_mem_save_memreserve_entries(); } =20 /* Populate an empty root node when bootloader doesn't provide one */ diff --git a/drivers/of/of_private.h b/drivers/of/of_private.h index 50e5a533e059..30954e859689 100644 --- a/drivers/of/of_private.h +++ b/drivers/of/of_private.h @@ -188,6 +188,8 @@ 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); bool __init alloc_reserved_mem_array(void); +void __init fdt_reserved_mem_account_memreserve(int n); +void __init fdt_reserved_mem_save_memreserve_entries(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 888dcb6bdce5..5e27f9403786 100644 --- a/drivers/of/of_reserved_mem.c +++ b/drivers/of/of_reserved_mem.c @@ -248,6 +248,43 @@ static void __init __rmem_check_for_overlap(void) } } =20 +static void __init fdt_reserved_mem_add_memreserve(phys_addr_t base, + phys_addr_t size) +{ + struct reserved_mem *rmem; + bool dumpable =3D false; + int i; + + if (reserved_mem_count =3D=3D total_reserved_mem_cnt) { + pr_err("not enough space for memreserve regions.\n"); + return; + } + + for (i =3D 0; i < reserved_mem_count; i++) { + rmem =3D &reserved_mem[i]; + + if (!rmem->dumpable) + continue; + + if (base < rmem->base + rmem->size && rmem->base < base + size) { + dumpable =3D true; + break; + } + } + + rmem =3D &reserved_mem[reserved_mem_count]; + rmem->base =3D base; + rmem->size =3D size; + rmem->dumpable =3D dumpable; + + reserved_mem_count++; +} + +void __init fdt_reserved_mem_account_memreserve(int n) +{ + total_reserved_mem_cnt +=3D n; +} + /** * fdt_scan_reserved_mem_late() - Scan FDT and initialize remaining reserv= ed * memory regions. @@ -305,6 +342,24 @@ void __init fdt_scan_reserved_mem_late(void) __rmem_check_for_overlap(); } =20 +void __init fdt_reserved_mem_save_memreserve_entries(void) +{ + const void *fdt =3D initial_boot_params; + u64 base, size; + int n; + + if (!fdt) + return; + + for (n =3D 0; ; n++) { + if (fdt_get_mem_rsv(fdt, n, &base, &size)) + break; + if (!size) + break; + fdt_reserved_mem_add_memreserve(base, size); + } +} + static int __init __reserved_mem_alloc_size(unsigned long node, const char= *uname); =20 /* --=20 2.43.0 From nobody Mon Jun 8 19:42:35 2026 Received: from mail-pf1-f194.google.com (mail-pf1-f194.google.com [209.85.210.194]) (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 B475338553A for ; Wed, 27 May 2026 03:31:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.194 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779852664; cv=none; b=rCQDwrMDyYOs49vPFaAl6KnOKTuXH3d5Kbcj4tS1o9BKLYk08dY61/6rVjbjhyf+s5C7pOrGv9Y4yGx1UMMdOTdnEFJ1VDTDQUeoEfTq6WavsW3F5nbnGYbGn3F7zJ8LnTDyWHzPRLdufkB41scsLh5tgoMo9yKg/RaeS2xsV5o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779852664; c=relaxed/simple; bh=BHpTlBX027ykjwYhJS6nSthz2HwxSGDDjUR6JMQZP6E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=N1nL4aVCgmkHlYbibfTek5LrDW1Mdecftf/Pr3ck2DQEfNMexXVt4t0Laxj97oOh86zU+qsidbwBu6DYb9LT0QFP7hiUb6OB3Kxu6Tjyrdcq3u5j56LBMfK+TV8D5OFyA698QWpIV7w7bW04tW8vNOsYWFkkPJunLWTRCubGfDU= 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=Qig6bO3U; arc=none smtp.client-ip=209.85.210.194 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="Qig6bO3U" Received: by mail-pf1-f194.google.com with SMTP id d2e1a72fcca58-83ec36a13e9so5625369b3a.0 for ; Tue, 26 May 2026 20:31:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779852662; x=1780457462; 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; bh=hrSylNUfVMz9fGhknfQmD+9F4TfLhiOlPkwxJFsVly8=; b=Qig6bO3UyUfcCLOGsVOtkgnBkCw9lcWcvzBS2g14GA9PldljsU2wiyFXvVu2ooI2As bviteR1cQ2dYilUog2uD7AGrDK68IOhQJ64vRIxULWuisbhaO1XVO7+dXoRlZ3Wmq5rX TlQOpZeGBxTtrKGgiBpigv4zcvgV6NwF6X38gxBxDYUPetfTQGNvGDuC2crdFqAx5iko 2RTaLKrgwPkEl8sGT52RBT7WNQKKx1J9WWgjbGJWr9HG1+EcXuoONPkuapyNosJ6YgWW 1Rq0cXVXVnRbgRQKin8/P5Xq9lc7uO9WAfnCcymX8i71/hjMm/re9kX1KJ2WGV9JHQR9 B49w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779852662; x=1780457462; 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; bh=hrSylNUfVMz9fGhknfQmD+9F4TfLhiOlPkwxJFsVly8=; b=LljWM6BZNWX6qS9fuDiY00H3VUxVJjFgK7NeUNzvvOdQe79cVq1XyzTdw7Dv6moZsn an25cNd4WCOVuY0Xb/0hGd7noM5RKC/JFISIyl4zQPPj7OuoNjiwpt4pqHhydjeu5kya GwN+abUoU6Ywo8p7fA6pmk19zR+ARlGQwTi/s4TNBxqSGwLNXKR8hFo+Sg/s8HzMf40t oDWBSg6Sq8TmBDQSyPtJiQaAaGKX5oePrvzjCE44N2Ldz1ENGQglmQi1pobwG/68TD5+ FIVkiYq78XBvdzkYmp+MVFa9VEK3KS3ed+w8lfNbCayC+n9BcPOx/U1GCI0US5TUHm8M RW/w== X-Forwarded-Encrypted: i=1; AFNElJ9rYv1Mi/QgPksyy2D8A0DWeKB6VSTtThStXf5peWk35uSQVCVvu8fIEt0zUkWhdZVbVpFq3KNJ8K8Kbe8=@vger.kernel.org X-Gm-Message-State: AOJu0Ywvhjn252AE2x7jqO2TUQntSzgUAJ3IR8NkP8aTj0A6HDdp5nNT o7EWL1v8rCaMosESRJlKF7F4drWiCqGBt1kx2id13wdQUzoqOkoN9LzS X-Gm-Gg: Acq92OE3ivgZ1t8WCIx6ZZ4OxcA+OccMIO/XSE8yf3hg0OmL3E+SjoyV+bZ3PjjsFZG pHIe7ZhvyZDF0ipUjYSAI1mrLbAYflBP+7p5Iuji2i/0f3V6VazRqnwN9OtE/neowftlnbVZIGx 12/Fv/Ry+faA5yo//RMvI7I+/EfLHevoHHOM5xb4QLREtCJKfHsX2IysSIL33o1hH4M+k1whK0E 6+AA5yiis1BgYyGbne7PWn4Tw89FLv1p7E6EqpO9WJKuvN+f4NUwo/0es1oRRC6YD5l3nXY45ew mNeAbbN2QO9l88uzz5ve0PJUPk0txbVVhez3T2kjdZSxiub8uQ3Dluzi/PWYNvOmDSoasSIS9eS CzEyk1fHMNEaPVsv5WxZUCkQ87zRYuVBr1xVYcGchNvh+CJPfcrHIiz4MRIGbHaAza6qPNf4nXO 6M4zy3NIT+Y3cllG4k0c3gEvqH0Bs22xfP65gpsJut2KJKgRQ= X-Received: by 2002:a05:6a00:13a6:b0:83e:b22f:373a with SMTP id d2e1a72fcca58-8415f31db44mr19548057b3a.11.1779852662047; Tue, 26 May 2026 20:31:02 -0700 (PDT) Received: from intel.company.local ([210.184.73.204]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-841d7307596sm749688b3a.59.2026.05.26.20.30.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 20:31:01 -0700 (PDT) From: Wandun Chen To: 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, iommu@lists.linux.dev, zhaomeijing@lixiang.com Cc: catalin.marinas@arm.com, will@kernel.org, chenhuacai@kernel.org, kernel@xen0n.name, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, robh@kernel.org, saravanak@kernel.org, akpm@linux-foundation.org, bhe@redhat.com, rppt@kernel.org, pasha.tatashin@soleen.com, pratyush@kernel.org, ruirui.yang@linux.dev, m.szyprowski@samsung.com, robin.murphy@arm.com, quic_obabatun@quicinc.com Subject: [PATCH v3 08/11] of: reserved_mem: add kdump helpers to exclude non-dumpable regions Date: Wed, 27 May 2026 11:29:14 +0800 Message-ID: <20260527032917.3385849-9-chenwandun1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260527032917.3385849-1-chenwandun1@gmail.com> References: <20260527032917.3385849-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 two helpers to exclude non-dumpable regions for arch-specific code. - of_reserved_mem_kdump_nr_ranges() returns the count of regions that are not dumpable. Each excluded region may split an existing crash_mem range into two, so callers use this to calculate crash_mem allocation size. - of_reserved_mem_kdump_exclude() walks reserved_mem[] and calls crash_exclude_mem_range() for every non-dumpable region. Signed-off-by: Wandun Chen Tested-by: Meijing Zhao --- drivers/of/of_reserved_mem.c | 34 +++++++++++++++++++++++++++++++++ include/linux/of_reserved_mem.h | 14 ++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/drivers/of/of_reserved_mem.c b/drivers/of/of_reserved_mem.c index 5e27f9403786..1d9aa332325b 100644 --- a/drivers/of/of_reserved_mem.c +++ b/drivers/of/of_reserved_mem.c @@ -24,6 +24,7 @@ #include #include #include +#include =20 #include "of_private.h" =20 @@ -858,6 +859,39 @@ struct reserved_mem *of_reserved_mem_lookup(struct dev= ice_node *np) } EXPORT_SYMBOL_GPL(of_reserved_mem_lookup); =20 +/* + * Count non-dumpable reserved regions. Excluding each one may split a + * crash_mem range in two, callers use this to size the allocation. + */ +unsigned int of_reserved_mem_kdump_nr_ranges(void) +{ + unsigned int i, n =3D 0; + + for (i =3D 0; i < reserved_mem_count; i++) + if (reserved_mem[i].size && !reserved_mem[i].dumpable) + n++; + return n; +} + +/* Exclude non-dumpable reserved regions from @cmem. */ +int of_reserved_mem_kdump_exclude(struct crash_mem *cmem) +{ + unsigned int i; + int ret; + + for (i =3D 0; i < reserved_mem_count; i++) { + struct reserved_mem *r =3D &reserved_mem[i]; + + if (!r->size || r->dumpable) + continue; + ret =3D crash_exclude_mem_range(cmem, r->base, + r->base + r->size - 1); + if (ret) + return ret; + } + return 0; +} + /** * of_reserved_mem_region_to_resource() - Get a reserved memory region as = a resource * @np: node containing 'memory-region' property diff --git a/include/linux/of_reserved_mem.h b/include/linux/of_reserved_me= m.h index 55a67cee41ea..70db99f1fbff 100644 --- a/include/linux/of_reserved_mem.h +++ b/include/linux/of_reserved_mem.h @@ -8,6 +8,7 @@ struct of_phandle_args; struct reserved_mem_ops; struct resource; +struct crash_mem; =20 struct reserved_mem { const char *name; @@ -48,6 +49,9 @@ int of_reserved_mem_region_to_resource_byname(const struc= t device_node *np, const char *name, struct resource *res); int of_reserved_mem_region_count(const struct device_node *np); =20 +unsigned int of_reserved_mem_kdump_nr_ranges(void); +int of_reserved_mem_kdump_exclude(struct crash_mem *cmem); + #else =20 #define RESERVEDMEM_OF_DECLARE(name, compat, ops) \ @@ -92,6 +96,16 @@ static inline int of_reserved_mem_region_count(const str= uct device_node *np) { return 0; } + +static inline unsigned int of_reserved_mem_kdump_nr_ranges(void) +{ + return 0; +} + +static inline int of_reserved_mem_kdump_exclude(struct crash_mem *cmem) +{ + return 0; +} #endif =20 /** --=20 2.43.0 From nobody Mon Jun 8 19:42:35 2026 Received: from mail-pf1-f196.google.com (mail-pf1-f196.google.com [209.85.210.196]) (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 40AB9383C97 for ; Wed, 27 May 2026 03:31:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.196 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779852675; cv=none; b=Tra/2qHvZnTzrKLWiwpIdwRN8VVG35CpoILXmiYq06tW4fBnyQL4vBgsYSkwRRbQ2i4QCRGegl8VuqJDK2NNGljWHd2Ykd2FNdSuR+0QGpXk34iFxWLAP91TaVHnpeIrsle0LmiqNbS4AJdTmUYBMSzGmPhwaH2FSt9HnXECQAs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779852675; c=relaxed/simple; bh=xipAbO8sfslQYWwVMG934ZBmEibO5OVkHredeiTd4i0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SC+ooFAgTBHGtO49Vj7PEIjJ+xDp2lyybdHhyGNAq8HkMTVZ/yR5Pfn724A2F6VX2HXg+T9yJrwS/C76tFBvnDq3XzynrjkVAcwSq2tmE6aVM6TKjVWoq3FNlHLkh1nNRCTWcqfpOnxkLW8m/jfsKiUbzEaFNa6dr6gLeRPswa0= 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=lEUK25q8; arc=none smtp.client-ip=209.85.210.196 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="lEUK25q8" Received: by mail-pf1-f196.google.com with SMTP id d2e1a72fcca58-824c9da9928so5377656b3a.3 for ; Tue, 26 May 2026 20:31:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779852673; x=1780457473; 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; bh=e5OPTsG2OKxcjvVozOjImSDH+Fj8Htwruv9sukUXajw=; b=lEUK25q8scSwMMJ6WLXB3CF9GOmPrF52UBeUmOBsbVZJ8wcEQZSmzmMRs/bd7u2cHw Kz4BwL1ne5eVtYJygHn1jimJt8Z+uBp0Jwy9A+14WrXJxDXX8CfyRZmXSFyG+ITK7IJa SvZbR0mHJqWC4iJgjXEfqURKZ49w7Wd2nQhYl4nsd8smJXi5z9pOMb3OM9CJVOyPtp1L hLorm+1BXjyGFpZFWHWNsNEqFu3QxL1dBtulLpG/6418VWdWXZLGgDvM8iyIieobV5Ti MaEPFF2YQGCKdLiGXKJV0zfzMVT5jj75tun6shqkrwmpW4Q641Duo+Od/ee9kIXhf6Ww 2aWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779852673; x=1780457473; 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; bh=e5OPTsG2OKxcjvVozOjImSDH+Fj8Htwruv9sukUXajw=; b=ijN++C0oCzeZW59lMVajGEcodiJbEVl0ApTn/0pBU2Cy7R0+RXVzxFsEQyLmpqfOmj TgOMPSXX6Kf4kfd24HK5ovNxAxVkk0vy/tG88iXUyNHW890B3JXJ+XyAhAKsUU9LsTXH UEGuOvsk8sGESsccWpI984y8R5JK2DgTulICnfvlzRBLgUcTsWFGug/dt5GnHmCk17Eo nEYjatWFl7Y9mB4nmZoKtaJbRiuDgjnZCqlRWvqhDUO7cfymaLRso/+45SeWVi2bbL4H O0+wC2UfwssBr4al+6ak2Ta05yyNd49eM3EV7yziGY+gPIvoan2MJr/Q0dPJD3s1Plcs 5Rgg== X-Forwarded-Encrypted: i=1; AFNElJ/iFYEnxrgFeH256oZz97qvfQLZ3zRChsIuX6jTM/zzTLgByZLuvzWSNtuqoQUUlHq3toKH179L8i67hPY=@vger.kernel.org X-Gm-Message-State: AOJu0YxxHjuiUnIAVFl5130JJ7cE3RVdly6+xiRRDsH2teyWSDrExGCS pXnn6RfcA9WsZV/xEDFX2ZsROc/rk0UefGi3iBjcGmCHVWxqLgZ9XCKd X-Gm-Gg: Acq92OHmx5ii9zFR553iXylgFCbG6M7OvEJHI10eMqW+a2XRYdBLk0Natv7KBgsDEqC yfCyLWeDPVQZVpn/zZfK38qS1peHlELPBZPtbXQUAhS9DLtOf+S258skC/3P5R3YZput91eWY4I 4j/ebYczzJ4krw74HDFXSPVPgh7oP6lNoERDtVGEs2EZVjAExq8jRCNjP1723burG0bk1RlyMe6 4yWR0LvcH2dTTr98lJ+N2HlVvMGzjB9Q4FAIt+FbFUv1mCPiWs7zksVg4nU7lY5pjrCHq6V1q/G e5R/62htkw5klRYUBvJeqGItn2zFaaWDnB7QtOBM0jngHi4XpNy8GAF83wqdnw6PXH5pbOvBbcK G6j+yhvpdABhs7pso8lN9r/g4OFDa5Wq+KVVjTwn6inL4h8IRJ7qKKWSDLy4f2v25ue1nDhu8Xd vKvAnNzmXNGeMmYJbPg2ULw8pmZn/fUjuHeq5JnsAGO2ftxRQ= X-Received: by 2002:a05:6a00:2ea7:b0:835:4291:6975 with SMTP id d2e1a72fcca58-8415f363b30mr20565995b3a.39.1779852673468; Tue, 26 May 2026 20:31:13 -0700 (PDT) Received: from intel.company.local ([210.184.73.204]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-841d7307596sm749688b3a.59.2026.05.26.20.31.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 20:31:13 -0700 (PDT) From: Wandun Chen To: 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, iommu@lists.linux.dev, zhaomeijing@lixiang.com Cc: catalin.marinas@arm.com, will@kernel.org, chenhuacai@kernel.org, kernel@xen0n.name, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, robh@kernel.org, saravanak@kernel.org, akpm@linux-foundation.org, bhe@redhat.com, rppt@kernel.org, pasha.tatashin@soleen.com, pratyush@kernel.org, ruirui.yang@linux.dev, m.szyprowski@samsung.com, robin.murphy@arm.com, quic_obabatun@quicinc.com Subject: [PATCH v3 09/11] arm64: kdump: exclude non-dumpable reserved memory regions from vmcore Date: Wed, 27 May 2026 11:29:15 +0800 Message-ID: <20260527032917.3385849-10-chenwandun1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260527032917.3385849-1-chenwandun1@gmail.com> References: <20260527032917.3385849-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 Reserved memory regions are excluded from vmcore by default unless marked dumpable. Honor the dumpable flag to filter out device firmware regions (e.g., GPU, DSP, modem) reserved via device tree, since they typically contain data not useful for kernel crash analysis and can significantly increase vmcore size. Use of_reserved_mem_kdump_exclude() to perform the exclusion, and pre-size the crash_mem array via of_reserved_mem_kdump_nr_ranges(). Signed-off-by: Wandun Chen Tested-by: Meijing Zhao Acked-by: Will Deacon --- arch/arm64/kernel/machine_kexec_file.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/arm64/kernel/machine_kexec_file.c b/arch/arm64/kernel/mac= hine_kexec_file.c index e31fabed378a..1d65320c6ba4 100644 --- a/arch/arm64/kernel/machine_kexec_file.c +++ b/arch/arm64/kernel/machine_kexec_file.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -51,6 +52,7 @@ static int prepare_elf_headers(void **addr, unsigned long= *sz) nr_ranges =3D 2; /* for exclusion of crashkernel region */ for_each_mem_range(i, &start, &end) nr_ranges++; + nr_ranges +=3D of_reserved_mem_kdump_nr_ranges(); =20 cmem =3D kmalloc_flex(*cmem, ranges, nr_ranges); if (!cmem) @@ -75,6 +77,10 @@ static int prepare_elf_headers(void **addr, unsigned lon= g *sz) goto out; } =20 + ret =3D of_reserved_mem_kdump_exclude(cmem); + if (ret) + goto out; + ret =3D crash_prepare_elf64_headers(cmem, true, addr, sz); =20 out: --=20 2.43.0 From nobody Mon Jun 8 19:42:35 2026 Received: from mail-pf1-f195.google.com (mail-pf1-f195.google.com [209.85.210.195]) (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 4A355384232 for ; Wed, 27 May 2026 03:31:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779852687; cv=none; b=VTPbjZ7SyweWj2l7MmeJPE4XmumwzSccFTUPVOvh7CShggHfUbg+h8RNpARTzKnNMUUNowRrKL3BS2CBCPRQpGKD19HCiklubWGCrVwGOQRQFAJNe7goYlw27JZHfsnF0HD76+eAeCFq2N9WwxTBrJC4iRcThZTgn447/O56DoM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779852687; c=relaxed/simple; bh=vTTeU4c33nu817Ph5CKnJ38o2dSdPMYsQQMx+YVGt6c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=TJJFVIv6Qcu1Dja5o6Bd8wz1NaGxwBuIhiYvqNhzxVzyGfwpFWkfA78bKDjII2UjpXFVgt2YltGtHfTNaDQkeJceBZmtiK4GKqbl6xYNvwEw9nQ+M6e6L8VDZ/ZmreAPl2U/XZ1e1rLyuCkVNLAFl8Ba5okIKQfBkdvHOk2JDqQ= 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=f7Xc5xU5; arc=none smtp.client-ip=209.85.210.195 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="f7Xc5xU5" Received: by mail-pf1-f195.google.com with SMTP id d2e1a72fcca58-836ed29d1e5so4988284b3a.2 for ; Tue, 26 May 2026 20:31:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779852686; x=1780457486; 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; bh=k8s9mNy4kJhUtRbiL4bvIShEI3qrMLQ/X11k1pNjAUs=; b=f7Xc5xU5rMFQ37bNEujzMwek/db6/R0DLvZaM2+UXHn2QLiRKs3OnMb/cyEgU/0byx 4F+euu9lrm52LsepLnP9zodwPs13KoNm6O/BJg73Nz0Ky4ZDx8oMXiA0ObNGIMetBPME +L5Y+VEMOgl3IjL5BcjkfWWld+yalyb1/7PFVyJJ5zNDU4Yaj/rwDoHDfTmIXyct+mxs ta6FApGZ6xY95xsh9ut3KBOvQQCESAXP6AV5xR4kR3S9QGgA0rzl+gtg/4MBsvKNqtXs EWXj1xILiQCbl/FR9+Y1dZrkOcJbOcmtMWkV7QXb44OSWUwYF2n/AeNvwOP0HQfgTApL cF5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779852686; x=1780457486; 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; bh=k8s9mNy4kJhUtRbiL4bvIShEI3qrMLQ/X11k1pNjAUs=; b=O58CrWwJX9ncNwu9PoDgpTROmgChi6LJJjMaEDm53Kgb+MbBcPcfIP86IGRZsBMUmQ h8BBbePwYQfc36MAz7xnvYqgi8SDOHUQy/aSqK7bF0yWzeGsPN3DaQEsLm0EY+njyusS yd4zMfY0gIJVV8NwaGl3oUP1n9MIrQ0Srwitco6rVTv96PFEwLSNLiPKKCzsPa4NK2wG pzkRNlr2DgnEI7wR+MAEDJbnlsMTgCpdxfaE89BagZPP4AZfwyMUyVhtxNzLhB4TXnaz 5H+Tm/0fvtWCC/UnUeuz+TtyKA/EcsgXCgxIoE7t9JiBQPWj1GY0YgG783RxqqWUCi0p vSbA== X-Forwarded-Encrypted: i=1; AFNElJ+GKveNeadSp3/wwKAvUCpJSReLQEvqQ275yaDy7xfA50jPa1fQppmQSyzC5SMN1S5s7aQdKWB6wDWa7Qo=@vger.kernel.org X-Gm-Message-State: AOJu0Yx2xS7zZTr3cw+fVx4lSuCF948sH/ukBzx6br3dlrchpx4VJtH+ 1SQGed9QAaFYgEvK/nCNVwD5boqgjuJ01rAHk6mOwdz7co8nww4jN5Mx X-Gm-Gg: Acq92OFbIYkbmN+j89IIykabpD1b8ksR/3nQYPiNoDPiVWl7K7Y++1mowJ5DB+gJ1f5 Zh/BRZ0UZecjpkf7EBSdPR7RagwSwZ4iqBTVGfz5J9A+WwwiZ4yEHUsknYz/t6zvQaO6MLvdR/4 9+nkbbH4sPuJyoTWJZczzcVAVcZnduBnup9JDhR2YXvE7TH39U8Ekx081ClQp9TL0e/MxHulc5/ PdCYl5sxhbq98F35sOhZwaAYvDrZWZDCGWsHWWc9Xq7c4KdsaOj0qYVhHRz598QiPxAzHDx04mv JZiOZVqVeBZIK7qwETMiT9FO0JY+hRJeBxWvKha9u10dezLTbXQp5bWvoBPunht6p1hqn8AOKlu EiPONEfNZmngZxRz0n2RjURbWNKHenZUbVh1n0ppJEpU3suG8XOfh3+PAsj9Zo/0rf6OO1YpvwJ V77uM7qxPs3ie2eT2grvOw41X5zjeZa77AnXu1 X-Received: by 2002:a05:6a00:8c6:b0:83e:d957:e5b6 with SMTP id d2e1a72fcca58-8415f544641mr20524215b3a.36.1779852685640; Tue, 26 May 2026 20:31:25 -0700 (PDT) Received: from intel.company.local ([210.184.73.204]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-841d7307596sm749688b3a.59.2026.05.26.20.31.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 20:31:25 -0700 (PDT) From: Wandun Chen To: 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, iommu@lists.linux.dev, zhaomeijing@lixiang.com Cc: catalin.marinas@arm.com, will@kernel.org, chenhuacai@kernel.org, kernel@xen0n.name, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, robh@kernel.org, saravanak@kernel.org, akpm@linux-foundation.org, bhe@redhat.com, rppt@kernel.org, pasha.tatashin@soleen.com, pratyush@kernel.org, ruirui.yang@linux.dev, m.szyprowski@samsung.com, robin.murphy@arm.com, quic_obabatun@quicinc.com Subject: [PATCH v3 10/11] riscv: kdump: exclude non-dumpable reserved memory regions from vmcore Date: Wed, 27 May 2026 11:29:16 +0800 Message-ID: <20260527032917.3385849-11-chenwandun1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260527032917.3385849-1-chenwandun1@gmail.com> References: <20260527032917.3385849-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 Apply the same non-dumpable reserved memory filtering to RISC-V kdump as was done for arm64. Use of_reserved_mem_kdump_exclude() to drop flagged regions from the elfcorehdr PT_LOAD segments, and of_reserved_mem_kdump_nr_ranges() to pre-size the crash_mem array. Signed-off-by: Wandun Chen --- arch/riscv/kernel/machine_kexec_file.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/riscv/kernel/machine_kexec_file.c b/arch/riscv/kernel/mac= hine_kexec_file.c index 54e2d9552e93..c359cf714c79 100644 --- a/arch/riscv/kernel/machine_kexec_file.c +++ b/arch/riscv/kernel/machine_kexec_file.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -63,6 +64,7 @@ static int prepare_elf_headers(void **addr, unsigned long= *sz) =20 nr_ranges =3D 1; /* For exclusion of crashkernel region */ walk_system_ram_res(0, -1, &nr_ranges, get_nr_ram_ranges_callback); + nr_ranges +=3D of_reserved_mem_kdump_nr_ranges(); =20 cmem =3D kmalloc_flex(*cmem, ranges, nr_ranges); if (!cmem) @@ -76,6 +78,8 @@ static int prepare_elf_headers(void **addr, unsigned long= *sz) =20 /* Exclude crashkernel region */ ret =3D crash_exclude_mem_range(cmem, crashk_res.start, crashk_res.end); + if (!ret) + ret =3D of_reserved_mem_kdump_exclude(cmem); if (!ret) ret =3D crash_prepare_elf64_headers(cmem, true, addr, sz); =20 --=20 2.43.0 From nobody Mon Jun 8 19:42:35 2026 Received: from mail-pf1-f194.google.com (mail-pf1-f194.google.com [209.85.210.194]) (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 33A2F384250 for ; Wed, 27 May 2026 03:31:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.194 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779852698; cv=none; b=aXGGDNRbr2vXy5KLbJHHC3Du3uS4+Hor8hL/NJxJZCaIPVwbGAaJdshFl9uZ4+jlK67heIi7HCgF9w+8Zv7qysIVhDY5RITJTjkUV968AnwqoJ6zcl0njGgRRmz0qts/A8L8y6tgEV4CbaFDq/i0DcDmprqM31kIni+3txhO+cM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779852698; c=relaxed/simple; bh=uLOeasSEYWAvpT8ERSE9h3DlJwiheu4obyaLXpGYn9A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ScOD5/iVhuQjpSo7a9EnPawNN1hkKARyp7vgN0BPNoTUchMl/vgRXLuyRMQ+WkKJQmLUckdo/qZN2mGs/PXh+fqRTQm8uLOL9n0bMdI6jdZ/GxgT+qxJ1nR64TW8ZinB2zsM6N5qI+jIH1GSxStKecL5w4M6KNqQX8PF7TgKVBQ= 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=fjNjs3GJ; arc=none smtp.client-ip=209.85.210.194 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="fjNjs3GJ" Received: by mail-pf1-f194.google.com with SMTP id d2e1a72fcca58-837dfccd950so5231869b3a.0 for ; Tue, 26 May 2026 20:31:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779852696; x=1780457496; 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; bh=HcszoUDc7316A03Dx3QXGOd8FcU7DWvjuNUEWPnVcI4=; b=fjNjs3GJAwN+lm0g8UqZB2nwneR2WiW9IpCRJYzVJIro/LNpvfEInu3+Mh3DGGEEUD iw8qodwRymampC4PR2mp3rAeLLFVZT7g6jmQVhI+4RipFPJaPAdNSJfAJkHAWIyw36kn GjG5gA3j2XprMK2vWCYbl0ObB11FcnWwyqqgYBHdJG4jfEFofEWVD76S3fkm8yyKgPCd 2VWy3vvrepSgJO49t7t05QfH7zNp/4KtzlFfFHSYp1zD+7tz4fwZhdmOZRsFIpPiO2Bw ACSVM29XXtYxunb13iTkpeSE9OUslqJGhRmWRMsPjKt+5MaAJSMLPfcSqsg/RScHsfEX oL0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779852696; x=1780457496; 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; bh=HcszoUDc7316A03Dx3QXGOd8FcU7DWvjuNUEWPnVcI4=; b=hGbK18PcquCtet1v+J32zF6hWBXwRB02gcY4cGxP8Qxd5gNxf7QjDrjsZv7Pic/XaG kAg1aAcwo6v80daNOLft3p97+TJFIEEjF9fJ7fv49Z2c/dWMdXT7AkDNgIR878hR0Yq3 OYXbqZZEURl67TPmCIPMTmt9ehHs4GOHzIdY8opmG5vE5E1+x8QEcQvdc4BnHpIHH1Zj PR4z75431ZbVGMZd3Cek3qcHlX+5n/IttPN75QbLM8HJETPcrzOBNvuow/DJooLITNKN QE7HcACCTJS04uv9mM74gNOqCnbPQPpNk7iRs9Juxf71xRF9gsil46P2/346tzjRnXTo TQZw== X-Forwarded-Encrypted: i=1; AFNElJ8bDHeH/Y4tVsJa7kYJ+8TJKXCBe0SPYdcwyDc9+VHREFwetFwFyBz0OgGohXIejOe6grYG51Bx3oLonts=@vger.kernel.org X-Gm-Message-State: AOJu0YwpsITSFPLekXjOPLH8HKPi2DhvRhJmIgRUw9YNTVOD4EI2M0bF lEYAGiXT4QsHuiLgroycpWKVBNQw1LGQrodsvlD97+s8i2hG9gB88DxR X-Gm-Gg: Acq92OHKbkKya5oq/JNUPA4x8wAPiisQ1sjk4WxtbUIu/nIgobVMVVryBezwlBwS7NV Vbd6caB18A2hZ6m3S5ZO33X1g01eyzt2AuCoHPvmt80ggsLHeO7GuNXv5NywGyijIAn5qzuJCWp nScG3Y5RZiJ3sM229UHgeaXbPXeFUbOiQ9e4Cb0ELhd+P7HIO0iqYQ47K8Kpd9lfrvwGRzhy0mf /HNwH7JXkpR3a8Wv0tCrt2ZX+J619vjLy8fisg4ZcrMz3QSWOB7jBW72z7wFVrlmlCvQ64Pmewh QuN55Sv/+3I30Ax5CfwBAo5kiPz/XMjDjbi9RzfZJe9Smktup5I1BjqNumzpZp1KMMd/LA/+Ten tMyi3e0sh6q/T99STXaw8D1GZdW6iYroE2FW67IUf0cjl4mgg3s3gYvHwjYn13yk0kJIkLyInKz pep++pp3E1upHILFJgqYwMOLwsN1EByDB69VzplRVeMv13ttQzzc5uwz5p7w== X-Received: by 2002:a05:6a00:3a0d:b0:837:8c8f:8f51 with SMTP id d2e1a72fcca58-8415f3bdb92mr20798104b3a.47.1779852696430; Tue, 26 May 2026 20:31:36 -0700 (PDT) Received: from intel.company.local ([210.184.73.204]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-841d7307596sm749688b3a.59.2026.05.26.20.31.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 20:31:35 -0700 (PDT) From: Wandun Chen To: 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, iommu@lists.linux.dev, zhaomeijing@lixiang.com Cc: catalin.marinas@arm.com, will@kernel.org, chenhuacai@kernel.org, kernel@xen0n.name, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, robh@kernel.org, saravanak@kernel.org, akpm@linux-foundation.org, bhe@redhat.com, rppt@kernel.org, pasha.tatashin@soleen.com, pratyush@kernel.org, ruirui.yang@linux.dev, m.szyprowski@samsung.com, robin.murphy@arm.com, quic_obabatun@quicinc.com Subject: [PATCH v3 11/11] loongarch: kdump: exclude non-dumpable reserved memory regions from vmcore Date: Wed, 27 May 2026 11:29:17 +0800 Message-ID: <20260527032917.3385849-12-chenwandun1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260527032917.3385849-1-chenwandun1@gmail.com> References: <20260527032917.3385849-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 Apply the same non-dumpable reserved memory filtering to LoongArch kdump as was done for arm64. Use of_reserved_mem_kdump_exclude() to drop flagged regions from the elfcorehdr PT_LOAD segments, and of_reserved_mem_kdump_nr_ranges() to pre-size the crash_mem array. Signed-off-by: Wandun Chen --- arch/loongarch/kernel/machine_kexec_file.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/loongarch/kernel/machine_kexec_file.c b/arch/loongarch/ke= rnel/machine_kexec_file.c index 5584b798ba46..4b918c3d4a28 100644 --- a/arch/loongarch/kernel/machine_kexec_file.c +++ b/arch/loongarch/kernel/machine_kexec_file.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -67,6 +68,7 @@ static int prepare_elf_headers(void **addr, unsigned long= *sz) nr_ranges =3D 2; /* for exclusion of crashkernel region */ for_each_mem_range(i, &start, &end) nr_ranges++; + nr_ranges +=3D of_reserved_mem_kdump_nr_ranges(); =20 cmem =3D kmalloc_flex(*cmem, ranges, nr_ranges); if (!cmem) @@ -91,6 +93,10 @@ static int prepare_elf_headers(void **addr, unsigned lon= g *sz) goto out; } =20 + ret =3D of_reserved_mem_kdump_exclude(cmem); + if (ret) + goto out; + ret =3D crash_prepare_elf64_headers(cmem, true, addr, sz); =20 out: --=20 2.43.0