From nobody Tue Dec 23 10:15:36 2025 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 09D5F1DF748 for ; Fri, 14 Nov 2025 05:15:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.156.1 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763097352; cv=none; b=OLhX5BDm9cRdh7+VNVlV5WMo1Q8oEGc5v2GRGuIcjuIub5qcL8Hl/V20W72zU6RAYLcIOWixl8zHqhX/CMt1PpFGd5f1MPvbgUTcVWhCdAyyNunl0Gp4i0cLzmpB/WVWyeEoieZFrS3yxMCpeavjIK8zpu1SUO89zNJkbcx2huU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763097352; c=relaxed/simple; bh=YUTK6rk6gHXhHwNoKs9HBdt2S6Dc79DLz1FyB9j+Afo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=l9p4f//0gZPe2cvYob4Jv7vFstXWFmAJQeskosFF0Y5Ds9FVWsteiFT9MJvhCy3s1gHpZRPNVoo1QDbPYBhk2E6nHAY2/3D/grklem4Z4l8bGakFygB5BsepsO4i9GKzXppLkKCNlqkThjaagqcYqJwcAvWPHAQC35iMP5omwQw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=YtjSiSqz; arc=none smtp.client-ip=148.163.156.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="YtjSiSqz" Received: from pps.filterd (m0356517.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5ADMlgdg023126; Fri, 14 Nov 2025 05:15:28 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=K12ZNWcHU/80IfHoV PKcJMdSwJlfuQgRRd7sR46umWc=; b=YtjSiSqzSxXAL0Q1stSmvQF65ILjqdsIu lq4gePWWDVPHAvfol9H8alq9rHWX3FH4TLkGfsccjzvqeTZUYBSlwWRgr/ls0Wcm Pvy3uyNwkCXanWuyhDzhhncCO+aw1Js+MJCE2aFc9QvrefFkz+b1LHf8mmBFUeue 99/fCKbqHHjH/NGZTeKEsUd0Eilje2lTDqwlvLgEuTX3HjLS9V15jDiEGclLmaij FjKk2OKTH893cW4t0qk2929cp/so/xKl2CWBwTD5UgKx/VzfSigtju/ISLPuZH1d BV1+wCsRJCuP3XNxbXoWkeBuUIztQGZZ7gDEOnxMOQ8CvweeJaP5Q== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4adrecs28x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Nov 2025 05:15:28 +0000 (GMT) Received: from m0356517.ppops.net (m0356517.ppops.net [127.0.0.1]) by pps.reinject (8.18.1.12/8.18.0.8) with ESMTP id 5AE5FS9u020202; Fri, 14 Nov 2025 05:15:28 GMT Received: from ppma21.wdc07v.mail.ibm.com (5b.69.3da9.ip4.static.sl-reverse.com [169.61.105.91]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4adrecs28u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Nov 2025 05:15:27 +0000 (GMT) Received: from pps.filterd (ppma21.wdc07v.mail.ibm.com [127.0.0.1]) by ppma21.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 5AE4xNHF008239; Fri, 14 Nov 2025 05:15:26 GMT Received: from smtprelay05.fra02v.mail.ibm.com ([9.218.2.225]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4aah6n9nsn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Nov 2025 05:15:26 +0000 Received: from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com [10.20.54.100]) by smtprelay05.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 5AE5FMis41615664 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 14 Nov 2025 05:15:22 GMT Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 37C5520040; Fri, 14 Nov 2025 05:15:22 +0000 (GMT) Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 409292004E; Fri, 14 Nov 2025 05:15:18 +0000 (GMT) Received: from li-4f5ba44c-27d4-11b2-a85c-a08f5b49eada.ibm.com.com (unknown [9.124.211.127]) by smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTP; Fri, 14 Nov 2025 05:15:18 +0000 (GMT) From: Sourabh Jain To: linux-kernel@vger.kernel.org Cc: Sourabh Jain , Aditya Gupta , Andrew Morton , Baoquan he , Dave Young , Hari Bathini , Jiri Bohac , Madhavan Srinivasan , Mahesh J Salgaonkar , Pingfan Liu , "Ritesh Harjani (IBM)" , Shivang Upadhyay , Vivek Goyal , linuxppc-dev@lists.ozlabs.org, kexec@lists.infradead.org Subject: [PATCH v4 1/5] Documentation/ABI: add kexec and kdump sysfs interface Date: Fri, 14 Nov 2025 10:45:00 +0530 Message-ID: <20251114051504.614937-2-sourabhjain@linux.ibm.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251114051504.614937-1-sourabhjain@linux.ibm.com> References: <20251114051504.614937-1-sourabhjain@linux.ibm.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 X-TM-AS-GCONF: 00 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTEzMDE3OSBTYWx0ZWRfX5Nx9newnJLQE TExjdNjKwXHeU7yz+83hSKFTwzeJ4N+rmo74dK1xpOadLHsWN2VZE+cHRDmS5ziivF9UuM7eks1 k6xIbIBaelkHHLa2NPQCnEd5edFcKO1WYW5eVO4hHeiTMagXKW4gMpE+wkyzdxtngJUblgIy6/7 beVlEggCMTiz4BwuusWMA6f+Dp9wz0VnSaz5dl9eVrxDxzbOc+gQYD2C3jGIlDzdjUVlIJddRND Pu7p8LSeEfz0z2xDLdtG6/ODHmoJn86KQdHKzz+1/3YBVEpkEh+30qmhgjSJY/ZB6dEwXBsCR8l 3M/Ktp7zl5FHV+HuJaE3p5HB2/R+tvZRkm7ccRlp1PdEz0wUjZ4OMSf+M53K/wjMGXHan9pph0/ MY60wLmxdOhGEGFiyVC9exeXryXITA== X-Authority-Analysis: v=2.4 cv=E//AZKdl c=1 sm=1 tr=0 ts=6916baf0 cx=c_pps a=GFwsV6G8L6GxiO2Y/PsHdQ==:117 a=GFwsV6G8L6GxiO2Y/PsHdQ==:17 a=6UeiqGixMTsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VnNF1IyMAAAA:8 a=Z4Rwk6OoAAAA:8 a=20KFwNOVAAAA:8 a=pGLkceISAAAA:8 a=voM4FWlXAAAA:8 a=JfrnYn6hAAAA:8 a=ZOjX3YdM_w__wJIrIs4A:9 a=HkZW87K1Qel5hWWM3VKY:22 a=IC2XNlieTeVoXbcui8wp:22 a=1CNFftbPRP8L7MoqJWF3:22 a=cPQSjfK2_nFv0Q5t_7PE:22 X-Proofpoint-GUID: 2nHpQsgfb5AMvgQXb7vLM1YKLoa_4zFE X-Proofpoint-ORIG-GUID: PgmIqrkjuF095OlleimDKTV8jWYpOoK0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-13_07,2025-11-13_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 bulkscore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0 malwarescore=0 clxscore=1015 spamscore=0 phishscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510240000 definitions=main-2511130179 Content-Type: text/plain; charset="utf-8" Add an ABI document for following kexec and kdump sysfs interface: - /sys/kernel/kexec_loaded - /sys/kernel/kexec_crash_loaded - /sys/kernel/kexec_crash_size - /sys/kernel/crash_elfcorehdr_size Cc: Aditya Gupta Cc: Andrew Morton Cc: Baoquan he Cc: Dave Young Cc: Hari Bathini Cc: Jiri Bohac Cc: Madhavan Srinivasan Cc: Mahesh J Salgaonkar Cc: Pingfan Liu Cc: Ritesh Harjani (IBM) Cc: Shivang Upadhyay Cc: Vivek Goyal Cc: linuxppc-dev@lists.ozlabs.org Cc: kexec@lists.infradead.org Signed-off-by: Sourabh Jain --- .../ABI/testing/sysfs-kernel-kexec-kdump | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 Documentation/ABI/testing/sysfs-kernel-kexec-kdump diff --git a/Documentation/ABI/testing/sysfs-kernel-kexec-kdump b/Documenta= tion/ABI/testing/sysfs-kernel-kexec-kdump new file mode 100644 index 000000000000..96b24565b68e --- /dev/null +++ b/Documentation/ABI/testing/sysfs-kernel-kexec-kdump @@ -0,0 +1,43 @@ +What: /sys/kernel/kexec_loaded +Date: Jun 2006 +Contact: kexec@lists.infradead.org +Description: read only + Indicates whether a new kernel image has been loaded + into memory using the kexec system call. It shows 1 if + a kexec image is present and ready to boot, or 0 if none + is loaded. +User: kexec tools, kdump service + +What: /sys/kernel/kexec_crash_loaded +Date: Jun 2006 +Contact: kexec@lists.infradead.org +Description: read only + Indicates whether a crash (kdump) kernel is currently + loaded into memory. It shows 1 if a crash kernel has been + successfully loaded for panic handling, or 0 if no crash + kernel is present. +User: Kexec tools, Kdump service + +What: /sys/kernel/kexec_crash_size +Date: Dec 2009 +Contact: kexec@lists.infradead.org +Description: read/write + Shows the amount of memory reserved for loading the crash + (kdump) kernel. It reports the size, in bytes, of the + crash kernel area defined by the crashkernel=3D parameter. + This interface also allows reducing the crashkernel + reservation by writing a smaller value, and the reclaimed + space is added back to the system RAM. +User: Kdump service + +What: /sys/kernel/crash_elfcorehdr_size +Date: Aug 2023 +Contact: kexec@lists.infradead.org +Description: read only + Indicates the preferred size of the memory buffer for the + ELF core header used by the crash (kdump) kernel. It defines + how much space is needed to hold metadata about the crashed + system, including CPU and memory information. This information + is used by the user space utility kexec to support updating the + in-kernel kdump image during hotplug operations. +User: Kexec tools --=20 2.51.1 From nobody Tue Dec 23 10:15:36 2025 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 16F64275864 for ; Fri, 14 Nov 2025 05:15:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.156.1 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763097352; cv=none; b=DnpuvSo+VzU8I9njHSKMZzkPM42aKNkqZDcDngzybMUQH6IM1+bnTRJKdlWHUjlLBlQwdk5EA+1euG1L+FpeF9MHD3YSK4G2nHUrRoc7agQTV/3aNDb0DSe3wXjAlSYPoTUPl2HK2zG8PX+pijqRdtEtWLhHnzgbRMBPBVnBd/4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763097352; c=relaxed/simple; bh=QbEHJjWFrttj1Jr6wJufi7xA+ubA4CiuMvr4QER33Rk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ItYn6IU2yzohrrxxhA/Sgkpck5Yp6iOr66MBpF2gg70zOJeKl+9GgVnuefbsQWvFxBNzEeNBH5K/vfP7/g95iajs8Ywws7cfQ/xURT5Z/uAXicULNmnNMpS1kEeP3S6FzC3faMOzEOxOqn8YjjXbg76TpUgYxJk+YSCWuzGSTuI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=JY0iwUn4; arc=none smtp.client-ip=148.163.156.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="JY0iwUn4" Received: from pps.filterd (m0356517.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5ADMlMkp022362; Fri, 14 Nov 2025 05:15:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=DbkYa7EgHM0wHsiiR ImsK/D8tPb+28kIKmrZlrOWqMc=; b=JY0iwUn4WQdNFeGaRmjIYwC0tX0PwItHf Z3NjfiD5Illds8fVOqisF6jRVhLGsRBHjSTtYUfcjjt1EXXuF+v+P/xGcPtdYiXK HC/iLmsLJWw1tZI9RgRZ6KoTOuJMWENwaHbUVQh7bgvE5JRJxqQOe9mL+m75/rQ4 ss5LFCa4NMjHGguUAIAIw9nvGGC7p20uKbo0Fg6m2WKY6nyUiI6CLFGEYDknb/U4 OH2jwHaMpgQlFZLA3KOP23+LWdThPqWzuUD+MY0Wx7TEtz+fjcuySX8ugGKYSFRt 5dz8+pb6jKRhYzUKnZ0cP9M8p9ZEY50mH0M2fFbLFNl5XIyVAFB6A== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4adrecs294-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Nov 2025 05:15:32 +0000 (GMT) Received: from m0356517.ppops.net (m0356517.ppops.net [127.0.0.1]) by pps.reinject (8.18.1.12/8.18.0.8) with ESMTP id 5AE5AeGI010067; Fri, 14 Nov 2025 05:15:31 GMT Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4adrecs293-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Nov 2025 05:15:31 +0000 (GMT) Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 5AE4IplK007313; Fri, 14 Nov 2025 05:15:30 GMT Received: from smtprelay04.fra02v.mail.ibm.com ([9.218.2.228]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 4aajdjsfth-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Nov 2025 05:15:30 +0000 Received: from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com [10.20.54.100]) by smtprelay04.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 5AE5FQGs13500922 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 14 Nov 2025 05:15:26 GMT Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 8F6482004B; Fri, 14 Nov 2025 05:15:26 +0000 (GMT) Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 45C5A20040; Fri, 14 Nov 2025 05:15:23 +0000 (GMT) Received: from li-4f5ba44c-27d4-11b2-a85c-a08f5b49eada.ibm.com.com (unknown [9.124.211.127]) by smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTP; Fri, 14 Nov 2025 05:15:23 +0000 (GMT) From: Sourabh Jain To: linux-kernel@vger.kernel.org Cc: Sourabh Jain , Aditya Gupta , Andrew Morton , Baoquan he , Dave Young , Hari Bathini , Jiri Bohac , Madhavan Srinivasan , Mahesh J Salgaonkar , Pingfan Liu , "Ritesh Harjani (IBM)" , Shivang Upadhyay , Vivek Goyal , linuxppc-dev@lists.ozlabs.org, kexec@lists.infradead.org Subject: [PATCH v4 2/5] kexec: move sysfs entries to /sys/kernel/kexec Date: Fri, 14 Nov 2025 10:45:01 +0530 Message-ID: <20251114051504.614937-3-sourabhjain@linux.ibm.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251114051504.614937-1-sourabhjain@linux.ibm.com> References: <20251114051504.614937-1-sourabhjain@linux.ibm.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 X-TM-AS-GCONF: 00 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTEzMDE3OSBTYWx0ZWRfXyPw46KQ18PnL q63cIeoDfaH7yk+39Hs5tEcmcbhigGzO1Q0JHL1grlMS4lumalj1rhgZPysjR1HUUnigiZ1OFmP m+y6+TNgZLhK9JCeeO3rixuP2A13P+1z9txCpB8gryWFYm6qzdLhU8dZUL5sLLW3XoJjSeTEOob b+hYLS6C2dJ2OYjH2C7VKoxxARoNMcpqlLJyOtCsOBt0Fsgx/LTSLHc0cZTsHelyzeecETXDgMU Jg/G7qAFtG9Erto3VzjKlcTYE7W/q3oUCLFJjXPmsUzSfnO+tnPEoEEDaAA80vQueadT8ZeKv2A XkfURbVHMtbjxAQHo1e46KW9vVhkX1B0wGeX/U1JfZjjjsaNy5s/95RtChbkP2B82rpRgLICAF1 WcITGhBuOjL0CZ5aK2moTo8so3FM9g== X-Authority-Analysis: v=2.4 cv=E//AZKdl c=1 sm=1 tr=0 ts=6916baf4 cx=c_pps a=AfN7/Ok6k8XGzOShvHwTGQ==:117 a=AfN7/Ok6k8XGzOShvHwTGQ==:17 a=6UeiqGixMTsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VnNF1IyMAAAA:8 a=Z4Rwk6OoAAAA:8 a=20KFwNOVAAAA:8 a=pGLkceISAAAA:8 a=voM4FWlXAAAA:8 a=JfrnYn6hAAAA:8 a=_1xw4giDfGel_dwv_FAA:9 a=HkZW87K1Qel5hWWM3VKY:22 a=IC2XNlieTeVoXbcui8wp:22 a=1CNFftbPRP8L7MoqJWF3:22 a=cPQSjfK2_nFv0Q5t_7PE:22 X-Proofpoint-GUID: tCr6d_uu9spQBedEw7Ej4EJ3VnVGpiUU X-Proofpoint-ORIG-GUID: OveLeGGu29zHiMV5arbdZCVwfNU1mgX3 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-13_07,2025-11-13_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 bulkscore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0 malwarescore=0 clxscore=1015 spamscore=0 phishscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510240000 definitions=main-2511130179 Content-Type: text/plain; charset="utf-8" Several kexec and kdump sysfs entries are currently placed directly under /sys/kernel/, which clutters the directory and makes it harder to identify unrelated entries. To improve organization and readability, these entries are now moved under a dedicated directory, /sys/kernel/kexec. For backward compatibility, symlinks are created at the old locations so that existing tools and scripts continue to work. These symlinks can be removed in the future once users have switched to the new path. While creating symlinks, entries are added in /sys/kernel/ that point to their new locations under /sys/kernel/kexec/. If an error occurs while adding a symlink, it is logged but does not stop initialization of the remaining kexec sysfs symlinks. The /sys/kernel/ entry is now controlled by CONFIG_CRASH_DUMP instead of CONFIG_VMCORE_INFO, as CONFIG_CRASH_DUMP also enables CONFIG_VMCORE_INFO. Cc: Aditya Gupta Cc: Andrew Morton Cc: Baoquan he Cc: Dave Young Cc: Hari Bathini Cc: Jiri Bohac Cc: Madhavan Srinivasan Cc: Mahesh J Salgaonkar Cc: Pingfan Liu Cc: Ritesh Harjani (IBM) Cc: Shivang Upadhyay Cc: Vivek Goyal Cc: linuxppc-dev@lists.ozlabs.org Cc: kexec@lists.infradead.org Signed-off-by: Sourabh Jain --- kernel/kexec_core.c | 118 ++++++++++++++++++++++++++++++++++++++++++++ kernel/ksysfs.c | 68 +------------------------ 2 files changed, 119 insertions(+), 67 deletions(-) diff --git a/kernel/kexec_core.c b/kernel/kexec_core.c index fa00b239c5d9..7476a46de5d6 100644 --- a/kernel/kexec_core.c +++ b/kernel/kexec_core.c @@ -41,6 +41,7 @@ #include #include #include +#include =20 #include #include @@ -1229,3 +1230,120 @@ int kernel_kexec(void) kexec_unlock(); return error; } + +static ssize_t loaded_show(struct kobject *kobj, + struct kobj_attribute *attr, char *buf) +{ + return sysfs_emit(buf, "%d\n", !!kexec_image); +} +static struct kobj_attribute loaded_attr =3D __ATTR_RO(loaded); + +#ifdef CONFIG_CRASH_DUMP +static ssize_t crash_loaded_show(struct kobject *kobj, + struct kobj_attribute *attr, char *buf) +{ + return sysfs_emit(buf, "%d\n", kexec_crash_loaded()); +} +static struct kobj_attribute crash_loaded_attr =3D __ATTR_RO(crash_loaded); + +static ssize_t crash_size_show(struct kobject *kobj, + struct kobj_attribute *attr, char *buf) +{ + ssize_t size =3D crash_get_memory_size(); + + if (size < 0) + return size; + + return sysfs_emit(buf, "%zd\n", size); +} +static ssize_t crash_size_store(struct kobject *kobj, + struct kobj_attribute *attr, + const char *buf, size_t count) +{ + unsigned long cnt; + int ret; + + if (kstrtoul(buf, 0, &cnt)) + return -EINVAL; + + ret =3D crash_shrink_memory(cnt); + return ret < 0 ? ret : count; +} +static struct kobj_attribute crash_size_attr =3D __ATTR_RW(crash_size); + +#ifdef CONFIG_CRASH_HOTPLUG +static ssize_t crash_elfcorehdr_size_show(struct kobject *kobj, + struct kobj_attribute *attr, char *buf) +{ + unsigned int sz =3D crash_get_elfcorehdr_size(); + + return sysfs_emit(buf, "%u\n", sz); +} +static struct kobj_attribute crash_elfcorehdr_size_attr =3D __ATTR_RO(cras= h_elfcorehdr_size); + +#endif /* CONFIG_CRASH_HOTPLUG */ +#endif /* CONFIG_CRASH_DUMP */ + +static struct attribute *kexec_attrs[] =3D { + &loaded_attr.attr, +#ifdef CONFIG_CRASH_DUMP + &crash_loaded_attr.attr, + &crash_size_attr.attr, +#ifdef CONFIG_CRASH_HOTPLUG + &crash_elfcorehdr_size_attr.attr, +#endif +#endif + NULL +}; + +struct kexec_link_entry { + const char *target; + const char *name; +}; + +static struct kexec_link_entry kexec_links[] =3D { + { "loaded", "kexec_loaded" }, +#ifdef CONFIG_CRASH_DUMP + { "crash_loaded", "kexec_crash_loaded" }, + { "crash_size", "kexec_crash_size" }, +#ifdef CONFIG_CRASH_HOTPLUG + { "crash_elfcorehdr_size", "crash_elfcorehdr_size" }, +#endif +#endif + +}; + +static struct kobject *kexec_kobj; +ATTRIBUTE_GROUPS(kexec); + +static int __init init_kexec_sysctl(void) +{ + int error; + int i; + + kexec_kobj =3D kobject_create_and_add("kexec", kernel_kobj); + if (!kexec_kobj) { + pr_err("failed to create kexec kobject\n"); + return -ENOMEM; + } + + error =3D sysfs_create_groups(kexec_kobj, kexec_groups); + if (error) + goto kset_exit; + + for (i =3D 0; i < ARRAY_SIZE(kexec_links); i++) { + error =3D compat_only_sysfs_link_entry_to_kobj(kernel_kobj, kexec_kobj, + kexec_links[i].target, + kexec_links[i].name); + if (error) + pr_err("Unable to create %s symlink (%d)", kexec_links[i].name, error); + } + + return 0; + +kset_exit: + kobject_put(kexec_kobj); + return error; +} + +subsys_initcall(init_kexec_sysctl); diff --git a/kernel/ksysfs.c b/kernel/ksysfs.c index eefb67d9883c..a9e6354d9e25 100644 --- a/kernel/ksysfs.c +++ b/kernel/ksysfs.c @@ -12,7 +12,7 @@ #include #include #include -#include +#include #include #include #include @@ -119,50 +119,6 @@ static ssize_t profiling_store(struct kobject *kobj, KERNEL_ATTR_RW(profiling); #endif =20 -#ifdef CONFIG_KEXEC_CORE -static ssize_t kexec_loaded_show(struct kobject *kobj, - struct kobj_attribute *attr, char *buf) -{ - return sysfs_emit(buf, "%d\n", !!kexec_image); -} -KERNEL_ATTR_RO(kexec_loaded); - -#ifdef CONFIG_CRASH_DUMP -static ssize_t kexec_crash_loaded_show(struct kobject *kobj, - struct kobj_attribute *attr, char *buf) -{ - return sysfs_emit(buf, "%d\n", kexec_crash_loaded()); -} -KERNEL_ATTR_RO(kexec_crash_loaded); - -static ssize_t kexec_crash_size_show(struct kobject *kobj, - struct kobj_attribute *attr, char *buf) -{ - ssize_t size =3D crash_get_memory_size(); - - if (size < 0) - return size; - - return sysfs_emit(buf, "%zd\n", size); -} -static ssize_t kexec_crash_size_store(struct kobject *kobj, - struct kobj_attribute *attr, - const char *buf, size_t count) -{ - unsigned long cnt; - int ret; - - if (kstrtoul(buf, 0, &cnt)) - return -EINVAL; - - ret =3D crash_shrink_memory(cnt); - return ret < 0 ? ret : count; -} -KERNEL_ATTR_RW(kexec_crash_size); - -#endif /* CONFIG_CRASH_DUMP*/ -#endif /* CONFIG_KEXEC_CORE */ - #ifdef CONFIG_VMCORE_INFO =20 static ssize_t vmcoreinfo_show(struct kobject *kobj, @@ -174,18 +130,6 @@ static ssize_t vmcoreinfo_show(struct kobject *kobj, } KERNEL_ATTR_RO(vmcoreinfo); =20 -#ifdef CONFIG_CRASH_HOTPLUG -static ssize_t crash_elfcorehdr_size_show(struct kobject *kobj, - struct kobj_attribute *attr, char *buf) -{ - unsigned int sz =3D crash_get_elfcorehdr_size(); - - return sysfs_emit(buf, "%u\n", sz); -} -KERNEL_ATTR_RO(crash_elfcorehdr_size); - -#endif - #endif /* CONFIG_VMCORE_INFO */ =20 /* whether file capabilities are enabled */ @@ -255,18 +199,8 @@ static struct attribute * kernel_attrs[] =3D { #ifdef CONFIG_PROFILING &profiling_attr.attr, #endif -#ifdef CONFIG_KEXEC_CORE - &kexec_loaded_attr.attr, -#ifdef CONFIG_CRASH_DUMP - &kexec_crash_loaded_attr.attr, - &kexec_crash_size_attr.attr, -#endif -#endif #ifdef CONFIG_VMCORE_INFO &vmcoreinfo_attr.attr, -#ifdef CONFIG_CRASH_HOTPLUG - &crash_elfcorehdr_size_attr.attr, -#endif #endif #ifndef CONFIG_TINY_RCU &rcu_expedited_attr.attr, --=20 2.51.1 From nobody Tue Dec 23 10:15:36 2025 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B54E62BE64F for ; Fri, 14 Nov 2025 05:15:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.156.1 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763097354; cv=none; b=mheD1zgc2G6medTMWit/OrJL8P8N1yCOZMaoj7TpnprX3Gy+ZEzXcXvt65YZyHoHGj3M5b5EelNl2BH/SZ6Ycuu5hUk2fzft8MW85jhS1sQOQynVmXwyD3U8tzox685u1G3ktpWhkmlVN0zACFtYmJ/a3tOYu//f7Edoyhk9JVk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763097354; c=relaxed/simple; bh=QxOG/mr4SuoeGltBJBx9Khsf/7ZUoSbe8xnod1kcSgw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KOPAkU8nxiqVUCeAUr+OO0Gvp6XNxNGoCL3kIXIUVHKoqb45WWRqWNTOwcW/8zEhWeuUO3KrkAYUlXs3kfm+LMPLD0z9p3r2oqzP9d1PUosD2OocJFDy+qrJvQLuWgcB9mDnPSC8/5tYNauZ9lh62D2a4QD5R09a7J630t5Z2J4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=HA+2IgJl; arc=none smtp.client-ip=148.163.156.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="HA+2IgJl" Received: from pps.filterd (m0360083.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5ADMlc6x008074; Fri, 14 Nov 2025 05:15:37 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=vsU1RZLnrbaQXMov3 T1w4F/vxwR9IwkqfqhPedHcRTA=; b=HA+2IgJlnPB9nThWIelY+5CWTBOUF7BjR V3KUpQdk51B2raaXyZG3rVUy/Al8hPbsMdM1TJp+CtRyBSAhGQQYizE7R4tnXAJT 6pSDoNQ4fFDKxQeq1Hnx/TzgzxzvzFo15/Tkk7v2SDBLUIGFw/EeG1ZdazpU0h0U qM/1fvdRBU3/k5Rr8/WoFYZPaJ/98P667TFwR+8J3Y2Qbyvm6pncD3yUbdfakuD7 Vxr/7QHy4nkmoXTLYIsSTEGmRb0LNd5HSZS9Nzs2LFZydtY/8dNrHMs8FPZiEkah WvUgiGQxrGRgzgigXuIdVyl3YpcubtShXeQHPYUy+upW98xN8Rlzg== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4adred92g1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Nov 2025 05:15:37 +0000 (GMT) Received: from m0360083.ppops.net (m0360083.ppops.net [127.0.0.1]) by pps.reinject (8.18.1.12/8.18.0.8) with ESMTP id 5AE58ixp025154; Fri, 14 Nov 2025 05:15:36 GMT Received: from ppma22.wdc07v.mail.ibm.com (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4adred92fx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Nov 2025 05:15:36 +0000 (GMT) Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1]) by ppma22.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 5AE3MIhG004828; Fri, 14 Nov 2025 05:15:35 GMT Received: from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4aagjy9sue-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Nov 2025 05:15:35 +0000 Received: from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com [10.20.54.100]) by smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 5AE5FV0941288142 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 14 Nov 2025 05:15:31 GMT Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 5B5AE2004B; Fri, 14 Nov 2025 05:15:31 +0000 (GMT) Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 8FBB520043; Fri, 14 Nov 2025 05:15:27 +0000 (GMT) Received: from li-4f5ba44c-27d4-11b2-a85c-a08f5b49eada.ibm.com.com (unknown [9.124.211.127]) by smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTP; Fri, 14 Nov 2025 05:15:27 +0000 (GMT) From: Sourabh Jain To: linux-kernel@vger.kernel.org Cc: Sourabh Jain , Aditya Gupta , Andrew Morton , Baoquan he , Dave Young , Hari Bathini , Jiri Bohac , Madhavan Srinivasan , Mahesh J Salgaonkar , Pingfan Liu , "Ritesh Harjani (IBM)" , Shivang Upadhyay , Vivek Goyal , linuxppc-dev@lists.ozlabs.org, kexec@lists.infradead.org Subject: [PATCH v4 3/5] Documentation/ABI: mark old kexec sysfs deprecated Date: Fri, 14 Nov 2025 10:45:02 +0530 Message-ID: <20251114051504.614937-4-sourabhjain@linux.ibm.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251114051504.614937-1-sourabhjain@linux.ibm.com> References: <20251114051504.614937-1-sourabhjain@linux.ibm.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 X-TM-AS-GCONF: 00 X-Authority-Analysis: v=2.4 cv=KNZXzVFo c=1 sm=1 tr=0 ts=6916baf9 cx=c_pps a=5BHTudwdYE3Te8bg5FgnPg==:117 a=5BHTudwdYE3Te8bg5FgnPg==:17 a=6UeiqGixMTsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VnNF1IyMAAAA:8 a=Z4Rwk6OoAAAA:8 a=20KFwNOVAAAA:8 a=pGLkceISAAAA:8 a=voM4FWlXAAAA:8 a=JfrnYn6hAAAA:8 a=LRU2jnFezOS3J6eLL00A:9 a=HkZW87K1Qel5hWWM3VKY:22 a=IC2XNlieTeVoXbcui8wp:22 a=1CNFftbPRP8L7MoqJWF3:22 a=cPQSjfK2_nFv0Q5t_7PE:22 X-Proofpoint-ORIG-GUID: 37us6_e4IZB3eXXZ_GgE0ONqBVbbVm-O X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTEzMDE3OSBTYWx0ZWRfXxdEdYr4rd5uP ikDVKTeQFx7JlKQpzc8yDBqTxR0yxzJb+ibbsY4QmpoQ7jiSgsCm02hUB1iIETRyke4afIz3YdB n3RWgOynETit42dOG5SSSFFvmZp/6qKKOC0JZSeHsScLqvrqgdmcEOdN3ohcBSgAIujsAb9F2Hg hAvjgd9ypavZRH/9rCgPIcvdQuVboAOtHC8tw7oZV3dOR3vkcHOBLF/9giaG1ggxRiNdVSj/SnL ivg6Dg0AdDUiH/XH0+waL9VhicI0HrUQjSskxVEvA45ZIid0gMeiSmjWmLQMvY/SNzP6uaXQtdh sPgP+XwnhDYjOe/tIBSyOn1BUVutDbVy34PGayLwx4P4r7W8DggKOz5zRf/TRDZYX6feL38VrKl 0g1N25GACU7DaUF0WuSON3fA500fhw== X-Proofpoint-GUID: 1NhD0UfBbahM1mnVi7L3iZU1ypm3q6_y X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-13_07,2025-11-13_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 priorityscore=1501 impostorscore=0 malwarescore=0 bulkscore=0 phishscore=0 clxscore=1015 suspectscore=0 adultscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510240000 definitions=main-2511130179 Content-Type: text/plain; charset="utf-8" The previous commit ("kexec: move sysfs entries to /sys/kernel/kexec") moved all existing kexec sysfs entries to a new location. The ABI document is updated to include a note about the deprecation of the old kexec sysfs entries. The following kexec sysfs entries are deprecated: - /sys/kernel/kexec_loaded - /sys/kernel/kexec_crash_loaded - /sys/kernel/kexec_crash_size - /sys/kernel/crash_elfcorehdr_size Cc: Aditya Gupta Cc: Andrew Morton Cc: Baoquan he Cc: Dave Young Cc: Hari Bathini Cc: Jiri Bohac Cc: Madhavan Srinivasan Cc: Mahesh J Salgaonkar Cc: Pingfan Liu Cc: Ritesh Harjani (IBM) Cc: Shivang Upadhyay Cc: Vivek Goyal Cc: linuxppc-dev@lists.ozlabs.org Cc: kexec@lists.infradead.org Signed-off-by: Sourabh Jain --- .../sysfs-kernel-kexec-kdump | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) rename Documentation/ABI/{testing =3D> obsolete}/sysfs-kernel-kexec-kdump = (61%) diff --git a/Documentation/ABI/testing/sysfs-kernel-kexec-kdump b/Documenta= tion/ABI/obsolete/sysfs-kernel-kexec-kdump similarity index 61% rename from Documentation/ABI/testing/sysfs-kernel-kexec-kdump rename to Documentation/ABI/obsolete/sysfs-kernel-kexec-kdump index 96b24565b68e..96b4d41721cc 100644 --- a/Documentation/ABI/testing/sysfs-kernel-kexec-kdump +++ b/Documentation/ABI/obsolete/sysfs-kernel-kexec-kdump @@ -1,3 +1,19 @@ +NOTE: all the ABIs listed in this file are deprecated and will be removed = after 2028. + +Here are the alternative ABIs: ++------------------------------------+------------------------------------= -----+ +| Deprecated | Alternative = | ++------------------------------------+------------------------------------= -----+ +| /sys/kernel/kexec_loaded | /sys/kernel/kexec/loaded = | ++------------------------------------+------------------------------------= -----+ +| /sys/kernel/kexec_crash_loaded | /sys/kernel/kexec/crash_loaded = | ++------------------------------------+------------------------------------= -----+ +| /sys/kernel/kexec_crash_size | /sys/kernel/kexec/crash_size = | ++------------------------------------+------------------------------------= -----+ +| /sys/kernel/crash_elfcorehdr_size | /sys/kernel/kexec/crash_elfcorehdr_= size | ++------------------------------------+------------------------------------= -----+ + + What: /sys/kernel/kexec_loaded Date: Jun 2006 Contact: kexec@lists.infradead.org --=20 2.51.1 From nobody Tue Dec 23 10:15:36 2025 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BCA74274B53 for ; Fri, 14 Nov 2025 05:15:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.158.5 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763097353; cv=none; b=AjEkjiRMpWC/O/nQWy1FZQ3zlJ/KcCmVxJV2zwdCS/K3xrxG+f0PtGaF2Bx7qn0MXWzx8zwc681yS+c7Bu1ZRh3s8zAs4XbsPbtQO/HlhZ4jPVVG6zGHkTJ7+tjOr4Nhp2tzjvvYVlxelTkoAPCvb7Kebe6qh+kYj+38ZbwQ9wU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763097353; c=relaxed/simple; bh=d3SC67Z5sY/OPET4ySz95MnNp4bmseGYbcjaYVT+H3k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=u+g03UP1oYY0iimL8Pb4/1biy7gTZUC4IVQyMg7SucmrhyUX9O/pfxNgFOlbTYzEZH6SVkFGYadX2v5HjilnB6FTnk3RUblyvTzg5GDGJY6gJRiaAQRkj6wb/ZMvSVFi3ZajsS4hcDvK/G17IHrNj4A5zISAZuuDtSAKVVE1vhY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=rnHvzvU0; arc=none smtp.client-ip=148.163.158.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="rnHvzvU0" Received: from pps.filterd (m0360072.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5ADMmmpI029152; Fri, 14 Nov 2025 05:15:42 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=XQVnR5QN883hGjZ4j I12ajdUhVieIx83NkEJie8s4hI=; b=rnHvzvU05xi/OapY9Rbo1U6abhdVA4t7d pRGiTjlXdwjiLklCZQBzYYnrpiYNGR+jE/kgFSCRlhyjaJ9MUiBx5rrVkUYXljMg fNPMaL3cVbNTIwiZxJkSTZZ0FwMPQvMIyDsRP/YCJYkbTwFE8hmjf+XvQ8GC5qV/ KSVv146YVXOhCVUrRSkeiqyC9GlWbac89ve5CXrh4rQ4HBTHf6h6EinzP0o73zC9 Lc1pOrhDd55dFVGY4Hm5VeMl4ul5ZoyTeCZc9kr8lQpj4DxIhiXhxp4+DXZN8qSd h54DNDr0Y7IL2CBSrrbEpVYPxb47xJdh+fGtf5c/+TIlvGAwwBrQA== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4adrevgxrn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Nov 2025 05:15:42 +0000 (GMT) Received: from m0360072.ppops.net (m0360072.ppops.net [127.0.0.1]) by pps.reinject (8.18.1.12/8.18.0.8) with ESMTP id 5AE5EwAT022275; Fri, 14 Nov 2025 05:15:41 GMT Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4adrevgxrk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Nov 2025 05:15:41 +0000 (GMT) Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 5AE4Iw7E007325; Fri, 14 Nov 2025 05:15:40 GMT Received: from smtprelay05.fra02v.mail.ibm.com ([9.218.2.225]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 4aajdjsfua-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Nov 2025 05:15:40 +0000 Received: from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com [10.20.54.100]) by smtprelay05.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 5AE5FbYZ41484638 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 14 Nov 2025 05:15:37 GMT Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id F10272004B; Fri, 14 Nov 2025 05:15:35 +0000 (GMT) Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 84ABD20040; Fri, 14 Nov 2025 05:15:32 +0000 (GMT) Received: from li-4f5ba44c-27d4-11b2-a85c-a08f5b49eada.ibm.com.com (unknown [9.124.211.127]) by smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTP; Fri, 14 Nov 2025 05:15:32 +0000 (GMT) From: Sourabh Jain To: linux-kernel@vger.kernel.org Cc: Sourabh Jain , Aditya Gupta , Andrew Morton , Baoquan he , Dave Young , Hari Bathini , Jiri Bohac , Madhavan Srinivasan , Mahesh J Salgaonkar , Pingfan Liu , "Ritesh Harjani (IBM)" , Shivang Upadhyay , Vivek Goyal , linuxppc-dev@lists.ozlabs.org, kexec@lists.infradead.org Subject: [PATCH v4 4/5] kexec: document new kexec and kdump sysfs ABIs Date: Fri, 14 Nov 2025 10:45:03 +0530 Message-ID: <20251114051504.614937-5-sourabhjain@linux.ibm.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251114051504.614937-1-sourabhjain@linux.ibm.com> References: <20251114051504.614937-1-sourabhjain@linux.ibm.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 X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: Y4Z0HWr1SrHzHy5SOcYxvgW9ijMU1kOo X-Authority-Analysis: v=2.4 cv=E9nAZKdl c=1 sm=1 tr=0 ts=6916bafe cx=c_pps a=AfN7/Ok6k8XGzOShvHwTGQ==:117 a=AfN7/Ok6k8XGzOShvHwTGQ==:17 a=6UeiqGixMTsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VnNF1IyMAAAA:8 a=Z4Rwk6OoAAAA:8 a=20KFwNOVAAAA:8 a=pGLkceISAAAA:8 a=voM4FWlXAAAA:8 a=JfrnYn6hAAAA:8 a=C7Xb30-FUlXqnvbFlGcA:9 a=HkZW87K1Qel5hWWM3VKY:22 a=IC2XNlieTeVoXbcui8wp:22 a=1CNFftbPRP8L7MoqJWF3:22 a=cPQSjfK2_nFv0Q5t_7PE:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTEzMDE3OSBTYWx0ZWRfX66rOMSOMECLQ WB+Yj2RaAKZwCWwd5fFsqQ1PDglrTwG+xBC3dtk7PNo8UXuTyuAujmqrxrn/e35UOV9U+VFG+Z4 cfAIXD83djUxDrtnpiH0Ke0HAJR5H76QQ+GSaxSI3EXwvdkw3OGvG5S+ho9pqXljepNirkzdRVu 5QNsr0/B3KJgkFJHqmt589HaMPzlEqu/SpBejgJXRJfzZCHTINbG/y56RmHStlQ7c+qIvWdDx9P f8xtuCHkAI18CxUh2Gtbi0Nn7unixDFrnE1LIqaFrU3u3uFJ1NPPvHbzKVFx9tV3TgDg2St8U+t Bg6T4SWst/Igd+6t0CtFxb5QhNmKar1C51GLrljOSJTnFVKmVGidP1Ut2VQMjsZciRl6x27kD6A 7bfce34cJK5I4ZJ+6pD7Rw6qcoheMw== X-Proofpoint-GUID: QcdouxTxhNkTuFpwKb7wixN58y4V_Y6G X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-13_07,2025-11-13_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 impostorscore=0 malwarescore=0 clxscore=1015 priorityscore=1501 adultscore=0 lowpriorityscore=0 bulkscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510240000 definitions=main-2511130179 Content-Type: text/plain; charset="utf-8" Add an ABI document for following kexec and kdump sysfs interface: - /sys/kernel/kexec/loaded - /sys/kernel/kexec/crash_loaded - /sys/kernel/kexec/crash_size - /sys/kernel/kexec/crash_elfcorehdr_size Cc: Aditya Gupta Cc: Andrew Morton Cc: Baoquan he Cc: Dave Young Cc: Hari Bathini Cc: Jiri Bohac Cc: Madhavan Srinivasan Cc: Mahesh J Salgaonkar Cc: Pingfan Liu Cc: Ritesh Harjani (IBM) Cc: Shivang Upadhyay Cc: Vivek Goyal Cc: linuxppc-dev@lists.ozlabs.org Cc: kexec@lists.infradead.org Signed-off-by: Sourabh Jain --- .../ABI/testing/sysfs-kernel-kexec-kdump | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 Documentation/ABI/testing/sysfs-kernel-kexec-kdump diff --git a/Documentation/ABI/testing/sysfs-kernel-kexec-kdump b/Documenta= tion/ABI/testing/sysfs-kernel-kexec-kdump new file mode 100644 index 000000000000..00c00f380fea --- /dev/null +++ b/Documentation/ABI/testing/sysfs-kernel-kexec-kdump @@ -0,0 +1,51 @@ +What: /sys/kernel/kexec/* +Date: Nov 2025 +Contact: kexec@lists.infradead.org +Description: + The /sys/kernel/kexec/* directory contains sysfs files + that provide information about the configuration status + of kexec and kdump. + +What: /sys/kernel/kexec/loaded +Date: Nov 2025 +Contact: kexec@lists.infradead.org +Description: read only + Indicates whether a new kernel image has been loaded + into memory using the kexec system call. It shows 1 if + a kexec image is present and ready to boot, or 0 if none + is loaded. +User: kexec tools, kdump service + +What: /sys/kernel/kexec/crash_loaded +Date: Nov 2025 +Contact: kexec@lists.infradead.org +Description: read only + Indicates whether a crash (kdump) kernel is currently + loaded into memory. It shows 1 if a crash kernel has been + successfully loaded for panic handling, or 0 if no crash + kernel is present. +User: Kexec tools, Kdump service + +What: /sys/kernel/kexec/crash_size +Date: Nov 2025 +Contact: kexec@lists.infradead.org +Description: read/write + Shows the amount of memory reserved for loading the crash + (kdump) kernel. It reports the size, in bytes, of the + crash kernel area defined by the crashkernel=3D parameter. + This interface also allows reducing the crashkernel + reservation by writing a smaller value, and the reclaimed + space is added back to the system RAM. +User: Kdump service + +What: /sys/kernel/kexec/crash_elfcorehdr_size +Date: Nov 2025 +Contact: kexec@lists.infradead.org +Description: read only + Indicates the preferred size of the memory buffer for the + ELF core header used by the crash (kdump) kernel. It defines + how much space is needed to hold metadata about the crashed + system, including CPU and memory information. This information + is used by the user space utility kexec to support updating the + in-kernel kdump image during hotplug operations. +User: Kexec tools --=20 2.51.1 From nobody Tue Dec 23 10:15:36 2025 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4498F2D8378 for ; Fri, 14 Nov 2025 05:15:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.156.1 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763097357; cv=none; b=JfC/8lKzpticISjpz8Hgb93tOwm0bxtW0i7OKhN54/fjRd7VYp9MCAZrpcmOgE6YacMEmAe1Z459wH/2Re3q6dWEXsFnfa39JtB9qXG0SBcESALMS9gmXTDfTx7X7bgtEL+M8MULlvsgal85tRPG2gSD/ywMGIX3i8GvmM4WVfU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763097357; c=relaxed/simple; bh=M4LlBXr/oPSft9YbJHkyKnFlm/VyTceAfivDFGDP/qE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=msuAqbKqVzT2CQFhC/CIfWvuVmTreWfUt5U9OJdo8tMkhrsro+XnBgOxU7nLNfloRgNdnH2rymV/XL6vzlLrAgObOaW4A7M7nVPnYaXrFFZg/Eto2rMvIPHrNJDazqXRj43z671eZUPTi9TCUo1cxSsVloK1zAyNHKwYnE9jFxY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=bh3ik9Dy; arc=none smtp.client-ip=148.163.156.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="bh3ik9Dy" Received: from pps.filterd (m0356517.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5ADMlLHm022347; Fri, 14 Nov 2025 05:15:46 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=2oVKsIXyrJXkyM+6w rn/iLOKfHA/LtsIXpmykgi6E68=; b=bh3ik9Dy1uFdHWAfF4PHleVPJlHZBWJvn SR0GLiVs0VGatsu14WDYa5lyDUkhMHXkqEuorLmq0mWOADpFMNzO2TnvA0Wz1zS6 nXGw4PxEf4mjcuFkChqMXUHhAA392pck4PuCMnM3HExJ8stUZstZC6NvJHhtcUbf qSJic78JXL1Y1atOCYLce55FJwbdRYtRiU91I83FN6ea10eBZ/0B6hRQvcgYNasv gxFg4eYtB41T/JOxW1exIAs+Wl1JhAkfOfIuhOkIKZhUclKqGuqglRsPDntATLt0 an2nPIiRo3RrNcupp/dHjlwIzjISLfTSM+RNmEqjGVi+tLbytj8sg== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4adrecs29w-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Nov 2025 05:15:46 +0000 (GMT) Received: from m0356517.ppops.net (m0356517.ppops.net [127.0.0.1]) by pps.reinject (8.18.1.12/8.18.0.8) with ESMTP id 5AE5Fj8W020409; Fri, 14 Nov 2025 05:15:45 GMT Received: from ppma11.dal12v.mail.ibm.com (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4adrecs29u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Nov 2025 05:15:45 +0000 (GMT) Received: from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1]) by ppma11.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 5AE4NB1k011562; Fri, 14 Nov 2025 05:15:44 GMT Received: from smtprelay04.fra02v.mail.ibm.com ([9.218.2.228]) by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 4aajw1sb3s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Nov 2025 05:15:44 +0000 Received: from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com [10.20.54.100]) by smtprelay04.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 5AE5FewL15860138 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 14 Nov 2025 05:15:40 GMT Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id A1A0820043; Fri, 14 Nov 2025 05:15:40 +0000 (GMT) Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 19BD720040; Fri, 14 Nov 2025 05:15:37 +0000 (GMT) Received: from li-4f5ba44c-27d4-11b2-a85c-a08f5b49eada.ibm.com.com (unknown [9.124.211.127]) by smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTP; Fri, 14 Nov 2025 05:15:36 +0000 (GMT) From: Sourabh Jain To: linux-kernel@vger.kernel.org Cc: Sourabh Jain , Aditya Gupta , Andrew Morton , Baoquan he , Dave Young , Hari Bathini , Jiri Bohac , Madhavan Srinivasan , Mahesh J Salgaonkar , Pingfan Liu , "Ritesh Harjani (IBM)" , Shivang Upadhyay , Vivek Goyal , linuxppc-dev@lists.ozlabs.org, kexec@lists.infradead.org Subject: [PATCH v4 5/5] crash: export crashkernel CMA reservation to userspace Date: Fri, 14 Nov 2025 10:45:04 +0530 Message-ID: <20251114051504.614937-6-sourabhjain@linux.ibm.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251114051504.614937-1-sourabhjain@linux.ibm.com> References: <20251114051504.614937-1-sourabhjain@linux.ibm.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 X-TM-AS-GCONF: 00 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTEzMDE3OSBTYWx0ZWRfX1AAJZaP/oujO uiu5H01dlBe3gRRPwCkBWPeZQJbyr9565VIe69d1T7P8t28QE0wYZsZJPOqhep5HNrdrL5tYpBl K87p8P4OsA9agLz5Vzk/ePFlmAJPrLHTHxmLOYYMSKqGGGFgdPpttSLTKjHfCCf8XmRkoObmgp5 3Zuu3kpN3zD78DL8mkdClooVORl7gpCpL0fi7cRBo+R0JM9kwW86HAn7xd1OMloBNeZCqnaSzHw oBlnScwv8bUHuB+CbYWodiz/mSNjxw+CPKUj70EtQxhK9LBsUW1xqCfzc2NBi89Qt5FFVXnY41R c7qwCqnQomf2kADurKiI21HVT8zX3+ou/xyw7ni0srEdmg2NZiL7UcvWY4Z9993efArvhjd0tmW mukBd+O0YT05Tc1DQ+3FQIBxM/Hm3g== X-Authority-Analysis: v=2.4 cv=E//AZKdl c=1 sm=1 tr=0 ts=6916bb02 cx=c_pps a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17 a=6UeiqGixMTsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VwQbUJbxAAAA:8 a=VnNF1IyMAAAA:8 a=Z4Rwk6OoAAAA:8 a=20KFwNOVAAAA:8 a=pGLkceISAAAA:8 a=voM4FWlXAAAA:8 a=JfrnYn6hAAAA:8 a=xHySkhmCpRGYbmLIrh4A:9 a=HkZW87K1Qel5hWWM3VKY:22 a=IC2XNlieTeVoXbcui8wp:22 a=1CNFftbPRP8L7MoqJWF3:22 a=cPQSjfK2_nFv0Q5t_7PE:22 X-Proofpoint-GUID: ULITlymv-_B6FIobW1VyROl7jAgp9zCo X-Proofpoint-ORIG-GUID: u8O023xO4rxTK2LTmYqQ9ChugD43PQZp X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-13_07,2025-11-13_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 bulkscore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0 malwarescore=0 clxscore=1015 spamscore=0 phishscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510240000 definitions=main-2511130179 Content-Type: text/plain; charset="utf-8" Add a sysfs entry /sys/kernel/kexec/crash_cma_ranges to expose all CMA crashkernel ranges. This allows userspace tools configuring kdump to determine how much memory is reserved for crashkernel. If CMA is used, tools can warn users when attempting to capture user pages with CMA reservation. The new sysfs hold the CMA ranges in below format: cat /sys/kernel/kexec/crash_cma_ranges 100000000-10c7fffff The reason for not including Crash CMA Ranges in /proc/iomem is to avoid conflicts. It has been observed that contiguous memory ranges are sometimes shown as two separate System RAM entries in /proc/iomem. If a CMA range overlaps two System RAM ranges, adding crashk_res to /proc/iomem can create a conflict. Reference [1] describes one such instance on the PowerPC architecture. Link: https://lore.kernel.org/all/20251016142831.144515-1-sourabhjain@linux= .ibm.com/ [1] Cc: Aditya Gupta Cc: Andrew Morton Cc: Baoquan he Cc: Dave Young Cc: Hari Bathini Cc: Jiri Bohac Cc: Madhavan Srinivasan Cc: Mahesh J Salgaonkar Cc: Pingfan Liu Cc: Ritesh Harjani (IBM) Cc: Shivang Upadhyay Cc: Vivek Goyal Cc: linuxppc-dev@lists.ozlabs.org Cc: kexec@lists.infradead.org Signed-off-by: Sourabh Jain --- .../ABI/testing/sysfs-kernel-kexec-kdump | 10 ++++++++++ kernel/kexec_core.c | 17 +++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/Documentation/ABI/testing/sysfs-kernel-kexec-kdump b/Documenta= tion/ABI/testing/sysfs-kernel-kexec-kdump index 00c00f380fea..f59051b5d96d 100644 --- a/Documentation/ABI/testing/sysfs-kernel-kexec-kdump +++ b/Documentation/ABI/testing/sysfs-kernel-kexec-kdump @@ -49,3 +49,13 @@ Description: read only is used by the user space utility kexec to support updating the in-kernel kdump image during hotplug operations. User: Kexec tools + +What: /sys/kernel/kexec/crash_cma_ranges +Date: Nov 2025 +Contact: kexec@lists.infradead.org +Description: read only + Provides information about the memory ranges reserved from + the Contiguous Memory Allocator (CMA) area that are allocated + to the crash (kdump) kernel. It lists the start and end physical + addresses of CMA regions assigned for crashkernel use. +User: kdump service diff --git a/kernel/kexec_core.c b/kernel/kexec_core.c index 7476a46de5d6..da6ff72b4669 100644 --- a/kernel/kexec_core.c +++ b/kernel/kexec_core.c @@ -1271,6 +1271,22 @@ static ssize_t crash_size_store(struct kobject *kobj, } static struct kobj_attribute crash_size_attr =3D __ATTR_RW(crash_size); =20 +static ssize_t crash_cma_ranges_show(struct kobject *kobj, + struct kobj_attribute *attr, char *buf) +{ + + ssize_t len =3D 0; + int i; + + for (i =3D 0; i < crashk_cma_cnt; ++i) { + len +=3D sysfs_emit_at(buf, len, "%08llx-%08llx\n", + crashk_cma_ranges[i].start, + crashk_cma_ranges[i].end); + } + return len; +} +static struct kobj_attribute crash_cma_ranges_attr =3D __ATTR_RO(crash_cma= _ranges); + #ifdef CONFIG_CRASH_HOTPLUG static ssize_t crash_elfcorehdr_size_show(struct kobject *kobj, struct kobj_attribute *attr, char *buf) @@ -1289,6 +1305,7 @@ static struct attribute *kexec_attrs[] =3D { #ifdef CONFIG_CRASH_DUMP &crash_loaded_attr.attr, &crash_size_attr.attr, + &crash_cma_ranges_attr.attr, #ifdef CONFIG_CRASH_HOTPLUG &crash_elfcorehdr_size_attr.attr, #endif --=20 2.51.1