From nobody Fri Jun 19 16:52:42 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0599BC433F5 for ; Fri, 1 Apr 2022 18:31:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1351115AbiDASde (ORCPT ); Fri, 1 Apr 2022 14:33:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40584 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236077AbiDASdZ (ORCPT ); Fri, 1 Apr 2022 14:33:25 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 159291DE6F1 for ; Fri, 1 Apr 2022 11:31:35 -0700 (PDT) Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 231G1jvV018556; Fri, 1 Apr 2022 18:31:02 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2021-07-09; bh=ZgkuZ8r/VymLdhLJB2PMa9DE7jwyd1kzggyTkOXJs4M=; b=W5tb8Y4EZrqE+buBQyCcqLXXj8lp3IVe7AD+EuH3Rx/Jc37gOpc9voQqR4EuXugE+M7J riiN/j/LqzCSGE8TFmYdo4BqER2R1OC7lmHnJeLHwO2m/xstwKm3yUXszrteoDY30mg8 vJYJBW+8Y7jxbE1I0oCVT55laZG9DDCoc2IifFwI6hbLwBC68mtZx/r19TwfzW0Evy+B 9p8EaE44JhdWuzlhTk/UjdlfMnFPlJnikFZCgs0Km9iNsXVGRr0VDBOzxt7cGgTWUQKs IMKX2I4vIdh8E9tnAt14mwqYDskISRuCbJkwyYeUL+5hTVlYpNmhIHJGqvsKDOBII2DF ig== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com with ESMTP id 3f1se0qs26-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 01 Apr 2022 18:31:02 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 231IBOsM011970; Fri, 1 Apr 2022 18:31:01 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2047.outbound.protection.outlook.com [104.47.66.47]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com with ESMTP id 3f1s9690cn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 01 Apr 2022 18:31:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WxpNMk0zZbloJWosLLGOusrwLeHTSxDl7QVvLQ2h5JDeF960S9zX3lmtcbmZkWjb16EIAhaRYs2FMgJ/vfQ5xum/DhVRnjHw05APJRYW/SjbPhXdJ8P2+96Oo1RHuijWNfU0oYFc/X87n63YG0wXf2hfhQ5icVHEi9Jdh7URNdo1dJQ8Cq9PncmE24MAZ5vQjhbLt5OGCKpLpETpIsN0jAqtUxtJJ0IXiknN/hVvaTJ6K9q3IawfYpMzH73dBRJNITJa76ZdgJvDf0rCNZGjJpCtv2SeYBWzuZ6/Ltzg8/OIeZ7zIOy/v1aKT7gBF8ddbf/8bDDlhFikxkHG1HANBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ZgkuZ8r/VymLdhLJB2PMa9DE7jwyd1kzggyTkOXJs4M=; b=NvEKjPgWD8kqL/DJlj6rBTOUUEfz3WrcsnIjeAh6BfsregbC2SWSPkyB/E1NEsHY8hJXUyhFz1o7XTdsnor6LKjvb8YZcXVJ1FAGoXm0f6oMgmfjJ/soUNB0s4u4L8z2hDWT4z/Oe7gtBqcYpYWgvxdchXzUqX71qNNvNJMjFZfusUSu6zwGs49ljVvGtFw4sQDT/yQrIWiJzDhSfmezEPpyPO52nSIiVZjYx8Aj1WZsmwssFYT7x2GSyKKL8ziA8Tdj0kORfM7VxMZZnp41Fbq/H/ECrLGD03OZABGOfQn4IoAccm43pX7qQ4ofb+bio93FsNG+jnydNV2glkq3Ag== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZgkuZ8r/VymLdhLJB2PMa9DE7jwyd1kzggyTkOXJs4M=; b=cRiIHzwRcnJtuNDd6/z7qUll7yHwmb9xbd/PU9SPM4UHgbfaLFOWEZEPyuAxfcNxYglnm96XqA+UbCzMM1m9osBuwJsLrLfTBFrxLl+UAObTxWWT19A5No1sn3AxCQgdxBfsDVAB8LmpUs3ypSmO952IXWAYf2aISc6rE2ezeyk= Received: from CO1PR10MB4531.namprd10.prod.outlook.com (2603:10b6:303:6c::22) by BN0PR10MB5502.namprd10.prod.outlook.com (2603:10b6:408:149::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.25; Fri, 1 Apr 2022 18:30:59 +0000 Received: from CO1PR10MB4531.namprd10.prod.outlook.com ([fe80::3188:fe86:1d6f:53ac]) by CO1PR10MB4531.namprd10.prod.outlook.com ([fe80::3188:fe86:1d6f:53ac%9]) with mapi id 15.20.5123.018; Fri, 1 Apr 2022 18:30:59 +0000 From: Eric DeVolder To: linux-kernel@vger.kernel.org, x86@kernel.org, kexec@lists.infradead.org, ebiederm@xmission.com, dyoung@redhat.com, bhe@redhat.com, vgoyal@redhat.com Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, nramas@linux.microsoft.com, thomas.lendacky@amd.com, robh@kernel.org, efault@gmx.de, rppt@kernel.org, david@redhat.com, konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, eric.devolder@oracle.com Subject: [PATCH v6 1/8] x86/crash: fix minor typo/bug in debug message Date: Fri, 1 Apr 2022 14:30:33 -0400 Message-Id: <20220401183040.1624-2-eric.devolder@oracle.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220401183040.1624-1-eric.devolder@oracle.com> References: <20220401183040.1624-1-eric.devolder@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SN4PR0701CA0042.namprd07.prod.outlook.com (2603:10b6:803:2d::16) To CO1PR10MB4531.namprd10.prod.outlook.com (2603:10b6:303:6c::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: cf80a395-0ad6-4d46-5810-08da140dc4b0 X-MS-TrafficTypeDiagnostic: BN0PR10MB5502:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: v4bu/ITpIu+vCo/7uQSTqSWLJKxvnJ+RgIi5ubkujUuVv5v3kiLssTSAx18rmHAR+JFzsmBlE3/0IRVOdQ+dh7H9tFI8ljK9l7ylP16eIUUSH/gQM4lSNEKBReoGMB1iBEQnfvZyOSH/KfnoDIjVDzFzJd5bxrrCDN7jWcYiKvMu81MsJKSLXQ8Knh4O9pfWUvGti5v3Nkmy3YKnZ9aM6VATtmSNnAx6HGSAfqL4iSpOryEtxyfl8MyDA9cqCTuDlww+1R2HogXzvn61Xsvh/RykAs17ygzxDFaSidogj7AzvowpJsep2FC4j2un7gMmTIejZaE0lYirdACUefe0JxunYFbcmxArfnrRhEz/u3OzXHwgvVN9Y3pkxG1NE3ojHiipAJCpljv9/ViwFnCz3FvK857xgyk4Fp9AvwXZPw03byL/Y66Cqfr60S6W9WkmAB3EsnQjFiL2HUnxYV4SG82QFKBD4DEjjEX5U23r3r6gsVs1l0Sn6vvrIKksSWgRdlSAVS54IMmv5+HaGf3IdNrZ9H3dE/A3M+2Xm51iSZB3A0u0Nhhsq/xwFA1eV1ONQLF9s4+VtzYsEVWkEzxK3F6g1beVXGvDVtdYY6Z3uyCqyF9gH1MI3necqWEAhZOxvhDKbfvbWRCj2F738W7yndvl3iD10vSFKsQjK5WbPYcnZnhonSU0tDYXhhsa2IXNvB+tgsqIsYiB3b0mXq+atQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR10MB4531.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(6666004)(2906002)(6506007)(6512007)(7416002)(107886003)(26005)(2616005)(36756003)(508600001)(52116002)(1076003)(6486002)(186003)(5660300002)(4326008)(66946007)(86362001)(66476007)(66556008)(8676002)(83380400001)(4744005)(38350700002)(8936002)(38100700002)(316002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?tCT6elZeR6xmQkoBhSoPI+w/aIbzg7A97YK/j99i5uosX4sTaZGPr+uQBSvK?= =?us-ascii?Q?QXZDrwocAnrrNinQcLuujePgxD6jR8ejtA8jMwrdp5s4cFtzEtMJQt/5Wfhh?= =?us-ascii?Q?V1Xxabg3QC1KD2OVleGhXC/oz3a2BgnIvXblzT6aXshRD15xRPQiihpHcm4S?= =?us-ascii?Q?0zg9U2+i21bqlZqRG+bnHB7Aw5dwlfG8xpP7m4YvfrzEZ0BA2thrboyO7IeS?= =?us-ascii?Q?mlcuD2ChW0mlbHho2+BIqY9kkJnVQFYVAJEfaHxPo6TcuBt0G90RZIqSZrBr?= =?us-ascii?Q?oqDTYyWU2B7u4kM7SLwucy0JaxDMKdlNA4JUwbHGlSiQb5UaK13tRxSy2UTK?= =?us-ascii?Q?zuJc3aWPmaWEDFnI63ZnX1pA48hL5zwcNlL1xQ4uhW/PFLBTIKGbjh16zcVz?= =?us-ascii?Q?JUTA5MW7vlxQURgQb3MYcBIRU4wNG+PNUC2Up0ZCNQvIVnZLnXhVN5Yp79SC?= =?us-ascii?Q?f182OtYbKuO1/ZFZn2zsbKft1vNJf3x+KUY75yfpdc8Ts5DL011/WvPZiQBW?= =?us-ascii?Q?Njjh48zAMsaEoVFcL5junuzeA9FXvQSmE3PVfV+ybr02lJyUFVQV3NqVuy2e?= =?us-ascii?Q?6iYErEDMmZ5QP7nqBmoUv0bZtsU//Jm3zuXz1jPx6CCLpoN6ZWpC9vTPIfPG?= =?us-ascii?Q?VvyenRB19LJH76gKdKhxVW9Da46KIZniCRujmfqHprmMWMyG19nopDQ9FUEE?= =?us-ascii?Q?4Wk+wv5uB18lpz6BFhEYHJuTvoNJ2sj/m8vihaLqTCKI3pZX8ww6stGr3zIm?= =?us-ascii?Q?xhhhXLmP3rT9gZ3glFue51Msi4/h/SWMcqQIF5ohT5SrzJ8dFIQlEOw67U7a?= =?us-ascii?Q?SArLW8Xc/g0sX76ckHaIxLcZOqNvGpYMVdRlXrzNkMs7ysyFBkKV6LxN5VD1?= =?us-ascii?Q?mh13rVgVDOWaDwFPKXT6izZPy79DTwHNvGX1o+vbFdJzLqz2hfOdgu5/YQOc?= =?us-ascii?Q?S74VkPpdMumDvwKEuwZ128baE7ba0TkpfY1Bh9duTsyKtlgqMr1w8WfAMPir?= =?us-ascii?Q?3hZcKUSP/6yea98QHqGJamLBEmviGIZIZWgiyqfWyeMbpyLe9dbvpP1j7QrB?= =?us-ascii?Q?lJgNPOUE1EdFNK7Ac78bBUxSHHv84nF8BQ/ewlvUhdl4V/qf26Olm54E1kba?= =?us-ascii?Q?cQBzokq6KVrlLqQLakhBXIWAfbJT3SmQLK0eQLrLp8OPtT18M8OJuiJMkcnv?= =?us-ascii?Q?YAks+7rkTuSoqsPikNsvBfHT93SXEHN5n3rnWYLGBJTSbJhHg/NhIGIBmSuK?= =?us-ascii?Q?N94MEiuYf/PjKEubGb8wXbr/88sxQHWXOO6AcTmEvV8dsqW0sSMz6JxJDdNz?= =?us-ascii?Q?8lonWrDNJnjU3VE2u30WAfThs0ndv/HmfR1argUKQEaNlzKYr5rxxKdKEMDH?= =?us-ascii?Q?ztgPfQsIB79ef550sM6gNd6TvoCfywzhKA5zjn02+L4rDpoqjBV46d8pN1be?= =?us-ascii?Q?S9X1Ouup55a6s+sv8jCsB7bDs5mvGlfmUakIVLRhqPdCpWfiSlQVAY4NKlB2?= =?us-ascii?Q?hSE0UVpO9zxW0eaKdR24n0VCDiADPBUr9AbBtPDNDDiPQn2YsthN/sUgLjd3?= =?us-ascii?Q?rWITakOWN7btNMR+YgS6KlRMSW/Ka6/BVUquVC3xlklMmVmSrVvdQe3g+cVD?= =?us-ascii?Q?WwMEl1PyXhkAyWa8nl3bkrZk0vevHN+LRz10ojLxNkCRZ/yy01L+kNOzz3ma?= =?us-ascii?Q?zEvCWyIBewCNIs9s/XzNFlmFt8GwpXbcRNEPJ5kxdYFDRTgvGO2dPni3DNOk?= =?us-ascii?Q?2vM/NBlpb6GCaC7+qLr9AAzEZc1hSBw=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: cf80a395-0ad6-4d46-5810-08da140dc4b0 X-MS-Exchange-CrossTenant-AuthSource: CO1PR10MB4531.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Apr 2022 18:30:59.5242 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: CAlS8w4/sjLBMwZPvtyApfFIonT2TPN5Y9YKZR3o7HqyXYKtqkeQl6a20ADN51zHtmIPaSQf5P7pm7kVl8J5jzVNGPosOk0r4bc0sSZBvhI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0PR10MB5502 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.425,18.0.850 definitions=2022-04-01_05:2022-03-30,2022-04-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 bulkscore=0 suspectscore=0 adultscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2204010087 X-Proofpoint-ORIG-GUID: jJ9a374pMJ0Bij4zfcdBpdkBYrExBzbv X-Proofpoint-GUID: jJ9a374pMJ0Bij4zfcdBpdkBYrExBzbv Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The pr_debug() intends to display the memsz member, but the parameter is actually the bufsz member (which is already displayed). Correct this to display memsz value. Signed-off-by: Eric DeVolder Acked-by: Baoquan He --- arch/x86/kernel/crash.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kernel/crash.c b/arch/x86/kernel/crash.c index e8326a8d1c5d..9730c88530fc 100644 --- a/arch/x86/kernel/crash.c +++ b/arch/x86/kernel/crash.c @@ -407,7 +407,7 @@ int crash_load_segments(struct kimage *image) } image->elf_load_addr =3D kbuf.mem; pr_debug("Loaded ELF headers at 0x%lx bufsz=3D0x%lx memsz=3D0x%lx\n", - image->elf_load_addr, kbuf.bufsz, kbuf.bufsz); + image->elf_load_addr, kbuf.bufsz, kbuf.memsz); =20 return ret; } --=20 2.27.0 From nobody Fri Jun 19 16:52:42 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 52832C433F5 for ; Fri, 1 Apr 2022 18:34:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1351251AbiDASfx (ORCPT ); Fri, 1 Apr 2022 14:35:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43954 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1351201AbiDASf1 (ORCPT ); Fri, 1 Apr 2022 14:35:27 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 882501B4EB9 for ; Fri, 1 Apr 2022 11:33:37 -0700 (PDT) Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 231FivZ5017622; Fri, 1 Apr 2022 18:31:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2021-07-09; bh=qKTk4kfcD986mViCk8iA/ul8C/H5q/WpbfB4Zx+xP6A=; b=eKbrAGzHJn7El+5Zhk5pcPC95Ynw0shcpl9lMAebBWr2gkIYWOp0CoUTg2HSKvs7DxVH o7rRK7mYf+HCmznjHz4ZUnE0k4zmlVa3Q9IEWREG1a7k/rD/yLsIslZoj3z81D+Jsiax EyJRWH9yfQTMG67D/RBNkB98p/6lDCermRqeFvyIHYFdSTcZuIwzA9wpE/S4jC7U6F1V 36zRowlrq8B449+VjgXcC0JIqGecO6UqNqhRTMekviSQzrPzyAUeEcJdZdYsyj5N/sG5 7AC1EKqOWwG9yT8D9hPT4cHoNCpgCAWZu9P59/zb7dzmLp+wlQn+NlW6iJMErV6kl7Xd 4Q== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com with ESMTP id 3f1ucu00td-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 01 Apr 2022 18:31:05 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 231IBOdw011926; Fri, 1 Apr 2022 18:31:04 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2040.outbound.protection.outlook.com [104.47.66.40]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com with ESMTP id 3f1s9690dm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 01 Apr 2022 18:31:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JIWkMQtnL9qZDnUBfA8xAw3vETDZiRTtUd2LgmBR3WDQ8/bVWYW0V3CdetL/gGnJdhvUnlpLp4cNFV5ahIFM/tdoW5syPrgnmvlCtUQJmSPDf3Qt1/ysl1+n27LRol2PNYrMtDNnff16rWYb/A9pSOI0hI6JYgRXFoDI7Kx2DOzwDphUyqU1hHXQGzH8BUFiC8YrKhdKm5B6P0UAqQdzu1sOyL0fs+gHhTgChulYfOSt8HHOQ9bi2M9PYQj4tbiTzleMtCz7DS1AWj13EMOOVVeyEU1CYwUroiv5wAJBdAVJZG83MuP17AW2bQ9Ov/oSXf96UOPuah2thArTr6Uomg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=qKTk4kfcD986mViCk8iA/ul8C/H5q/WpbfB4Zx+xP6A=; b=UxYtCOQmOqT8R8re/hl3NkErBNgRT1gPDRvxb3OSMnq6GwqzojRVcalqM9hTLTM2cWXJ862IVd8NHj6fB+d/LmHHGWvyqUIPIweNEmRUYcY4/yNdVEbBVaZfXFr20Sq1mnJmh2xaHO6kytnDVK5jT4op9mO08EDpFc9ieY6Zv62PW5wnuMhAkOrYjIOZyE6UTPJWIy/kIpe3TLhq2dZ3O/6hZvh8Mr384/14eRAiKR2L0F5Oa0An45vtHAL+kdojqDez8RVMk6eidpfPaO6Otb/T/BNclk3EzhmlR/c/LM5b2CR3Z8J7o1E5JadK+K1b9j2NttU89GdZiWtuN+SaRg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qKTk4kfcD986mViCk8iA/ul8C/H5q/WpbfB4Zx+xP6A=; b=wuD2mYi3apLDIycvaK6Qf8bRswyAPNq2RC6E8CIeGjq1Nu6rXUW4r4iiNkpGTS+jIqcT6tpTsMlyZKhG6MZJiMjkD4aUMcoy+7GIkDNPgLxR/UQ+yLUiQ2vGxcb6mIg9lTOhTneiZIBAd0ws5RKslzqcx3drUczdmyd34XgX/HQ= Received: from CO1PR10MB4531.namprd10.prod.outlook.com (2603:10b6:303:6c::22) by BN0PR10MB5502.namprd10.prod.outlook.com (2603:10b6:408:149::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.25; Fri, 1 Apr 2022 18:31:02 +0000 Received: from CO1PR10MB4531.namprd10.prod.outlook.com ([fe80::3188:fe86:1d6f:53ac]) by CO1PR10MB4531.namprd10.prod.outlook.com ([fe80::3188:fe86:1d6f:53ac%9]) with mapi id 15.20.5123.018; Fri, 1 Apr 2022 18:31:02 +0000 From: Eric DeVolder To: linux-kernel@vger.kernel.org, x86@kernel.org, kexec@lists.infradead.org, ebiederm@xmission.com, dyoung@redhat.com, bhe@redhat.com, vgoyal@redhat.com Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, nramas@linux.microsoft.com, thomas.lendacky@amd.com, robh@kernel.org, efault@gmx.de, rppt@kernel.org, david@redhat.com, konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, eric.devolder@oracle.com Subject: [PATCH v6 2/8] x86/crash: Introduce new options to support cpu and memory hotplug Date: Fri, 1 Apr 2022 14:30:34 -0400 Message-Id: <20220401183040.1624-3-eric.devolder@oracle.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220401183040.1624-1-eric.devolder@oracle.com> References: <20220401183040.1624-1-eric.devolder@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SN4PR0701CA0042.namprd07.prod.outlook.com (2603:10b6:803:2d::16) To CO1PR10MB4531.namprd10.prod.outlook.com (2603:10b6:303:6c::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: eac7f04b-8d5c-4b78-2706-08da140dc64d X-MS-TrafficTypeDiagnostic: BN0PR10MB5502:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: P1rGhJpA8c5HrwGpDK1uwWmsZ9Rg0yJblYTZh5Mrxqgqjl9lr+PpyCVspFnmtbhA/Aj0lAOoXOwJO4HI+46PGz22uOj3dzkh+1GWqlqYxexnrFBQIYIuD1du/AwCyaa/1G6NVxRJKAr1MdIp8WE5gyDvY9edqOuWkfXewwabfL+bSyurvrsPWFiG1bZYzS7fWAaALvUjPpkf83OZGgF8CvpnrdifanbJEgg04+kczOfn1dzJykZR1Dt7w5m5YN3OFdrTUmi6SrbxsL/kzi2IJyL9PH/8WnddL4qTSw5KtpJT4vEAXeaQwPjVdk+ZHNWVsllRqV/kr3FGkJYrI8mY/MKoyVd5J42IwC9fSC4io1uMpES0LNpBvXAD3+uVJZuAAkUBRw+ysnBt2TAvYqZ6WrtbZmxShVanb3H3PVe49cjoSybzzLCqNNPxDOECXFp1Tk6piy8dWtNbrg+qtZvAn9coR49NugRB/4cGc+J6gCyWGik9LKwR6kGs+93z/KAsj9vLkl7rn4uAYMr1+nRGOvu5xC3S/4m1F+UWtX1epRfoC13+OY3JXstVaeK6ZPsriTKZZzFieiHkQMZISsdKG9aqIDUQ04fHI7PrXqe9GqB7zf89CVvMbZuYVhmML9VJnG++Q1MKifomL4JUlZ/VH/sIhUdpZOPeSfvoNZfEDFG/44rZcFd6NxyWnD7vhbV2offT57juJd8jsBd6llcQkA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR10MB4531.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(6666004)(2906002)(6506007)(6512007)(7416002)(107886003)(26005)(2616005)(36756003)(508600001)(52116002)(1076003)(6486002)(186003)(5660300002)(4326008)(66946007)(86362001)(66476007)(66556008)(8676002)(83380400001)(38350700002)(8936002)(38100700002)(316002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?FCBCi+Zj5XPoGrCzbSy88jen/QVzR3lpClRshDg21MjKrpRCM68e/g4//YUb?= =?us-ascii?Q?6lLpbDmg/AA3AohaI7V2e9ez4Dg0ZcYDyJ3neMcmmkAxB9etH8gDk5Vkzq0h?= =?us-ascii?Q?b77RzBlPgargsaxa62r/ejTaDr7/PfKk3i959s0NRR8266ADJV7E9aCSPvll?= =?us-ascii?Q?KgmR83YZXru1TPUZWX0dIhzzLC//v6zJDDE0paEef7rdQ6Cubv+/0LcgG7gL?= =?us-ascii?Q?IQEVm1ePANee7s3cYswWlo4yf0TCy3U++79uvVmp2xh8fER/p1VmN8+GbDp3?= =?us-ascii?Q?Licbs5kGKxhWlobRw/CxCMRYQ22ny2xtaMoJhPZTpuqx4JkspEQ4RR1XX9TC?= =?us-ascii?Q?slIg5dXp0YDBGx02QH7/ElE/t6AynZgQNvzXqGDBBtENbZRxXfFo0+Iahy+o?= =?us-ascii?Q?n6WLdDw+rbvM0EnHqLMMzgCojNYCisntYovathBWHnUudCjrWdwSrBzwDbA7?= =?us-ascii?Q?OWjSNYjyhGzfIm5nYtynfgTN25H6SOnSU6KTbTNYYgxK1V1DbL+D0fGHH2xw?= =?us-ascii?Q?uoeI11poXs6Q9AnoHejcH6rGY0NrPZhS8NNDiK+puOwMR6qkT56c5/53ZTT+?= =?us-ascii?Q?FDHB6CLDNBuuNOxZI69AHJ0CnqrkRUe2/matm+I3l05HMs/O02t4rDPqwERC?= =?us-ascii?Q?UB6Dp3bnuwOmpnQFLok0cQX9fO94U2DrzN/TrJHiXeFquPxOigBC+QMHYma0?= =?us-ascii?Q?EqPreZQTaOkb9yIs85+JprsAJX2YkGWWkiWlWxtbGSaPmOd6KqnqCK83OGsX?= =?us-ascii?Q?O2YKNKSIcaD/K/6u3fsOCN04xpBr2u/vVjxphYOFBCc0WEykasarkoi1U9pk?= =?us-ascii?Q?XSGyjINIetRqM0JBJwS8JJbNWPq/gz9FJ3oPwuyok4RnhzJF1eaaaGg+V8Wh?= =?us-ascii?Q?xulHRMAM6eHa0/1Lc63bPuCeC76hevXDdWDtnMA1fH5HohykWqMS4qMpquFz?= =?us-ascii?Q?CNSAcX+auMbE9DcQYwTztAIr2YmCvoOLOCFcaKRgGOn1Z8NLgsLoe3QSM48E?= =?us-ascii?Q?eMdQ0ieVdTPHR44oYyHDiQzzUOwY0GU+YEvEf2sMAJdt/8VTnUjo+xlR4eI4?= =?us-ascii?Q?gb5DmwOKYWSUsSPL+I70CTgRwE6ejE26MFYpnTyIlwKgFiCG8JGW15RDMoOu?= =?us-ascii?Q?+1KvhF0vS7DiLrBdRCOFgu0K9cye/YwM1NK0YLW8VEAOvjFBd7uT9ylsC+Pe?= =?us-ascii?Q?KKTkWmH71sTYQ9wPopAw2qcsX0410gWN3ahPQ7KbvKtDm47dXMHcLTfyRDZF?= =?us-ascii?Q?LtPB8sSwNNFknBSPwODZYpMzID3Gg/2XddNKPWkB6tnOnONANO8ln47W44uL?= =?us-ascii?Q?D+8i5Er4wclf/xQQarLReAMtuIExYpCKucf0HU9nLIS8+4RLWzJ4v6Sw6DOD?= =?us-ascii?Q?5SphF3dmfg4Z4yvitK+3FUsiGUdfc2Ta7PTnOxqG+PDqOjPzgcnZVJQNbBMR?= =?us-ascii?Q?ZDz/b7mXhJJtUnmdath9Y+CHRmvWd5KNtoC5ji9LdsYRJ2ldK2UjtEufnQcT?= =?us-ascii?Q?OnVgDkFvCMpIt4o1zWnMjoZ4kEDWcaPVzQoEAF1/KKg8E1ept8to7E1JOXfr?= =?us-ascii?Q?KN5y6MNpmQyut+afhVlTbnq0SMk71wUnWWs8zRDyWIB56wb+eYv1AU2y/q+4?= =?us-ascii?Q?bCMdb5hKYfsyVaDCEC3uObILcvUFeAm6RDS8rvsAxz/tIN1+MgPOBKgXIlde?= =?us-ascii?Q?GQ0ps4I2V+yGfY2VJsUN5B2w/hogQjEZ9Ya3iA9xm6MxtZcGjJiXD8CK9che?= =?us-ascii?Q?7FqpYQi1kfVyMhiQ6EzoVcKBhRcIUio=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: eac7f04b-8d5c-4b78-2706-08da140dc64d X-MS-Exchange-CrossTenant-AuthSource: CO1PR10MB4531.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Apr 2022 18:31:02.1827 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: zW9dEUdiZy5mVG3kz2+n7+r++tjQHmzHRns0LQAMR9eVV+xr3rumayoo2yRZa4/fxSJdPK6LtpWgSHlnXjeuUt8lKxkD5onuLrljYfrWoJI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0PR10MB5502 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.425,18.0.850 definitions=2022-04-01_05:2022-03-30,2022-04-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 bulkscore=0 suspectscore=0 adultscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2204010087 X-Proofpoint-ORIG-GUID: QOGFiXD-OStS1LF3HX0HZnDgRx8B-I_8 X-Proofpoint-GUID: QOGFiXD-OStS1LF3HX0HZnDgRx8B-I_8 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" CRASH_HOTPLUG is to enable cpu and memory hotplug support of crash. CRASH_HOTPLUG_ELFCOREHDR_SZ is used to specify the maximum size of the elfcorehdr buffer/segment. This is a preparation for later usage. Signed-off-by: Eric DeVolder --- arch/x86/Kconfig | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 7340d9f01b62..8b51d3196b82 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -2072,6 +2072,32 @@ config CRASH_DUMP (CONFIG_RELOCATABLE=3Dy). For more details see Documentation/admin-guide/kdump/kdump.rst =20 +config CRASH_HOTPLUG + bool "kernel updates of crash elfcorehdr" + depends on CRASH_DUMP && (HOTPLUG_CPU || MEMORY_HOTPLUG) && KEXEC_FILE + help + Enable the kernel to update the crash elfcorehdr (which contains + the list of CPUs and memory regions) directly when hot plug/unplug + of CPUs or memory. Otherwise userspace must monitor these hot + plug/unplug change notifications via udev in order to + unload-then-reload the crash kernel so that the list of CPUs and + memory regions is kept up-to-date. Note that the udev CPU and + memory change notifications still occur (however, userspace is not + required to monitor for crash dump purposes). + +config CRASH_HOTPLUG_ELFCOREHDR_SZ + depends on CRASH_HOTPLUG + int + default 131072 + help + Specify the maximum size of the elfcorehdr buffer/segment. + The 128KiB default is sized so that it can accommodate 2048 + Elf64_Phdr, where each Phdr represents either a CPU or a + region of memory. + For example, this size can accommodate a machine with up to 1024 + CPUs and up to 1024 memory regions, eg. as represented by the + 'System RAM' entries in /proc/iomem. + config KEXEC_JUMP bool "kexec jump" depends on KEXEC && HIBERNATION --=20 2.27.0 From nobody Fri Jun 19 16:52:42 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 840FBC433F5 for ; Fri, 1 Apr 2022 18:34:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1351234AbiDASfr (ORCPT ); Fri, 1 Apr 2022 14:35:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43956 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1351205AbiDASf1 (ORCPT ); Fri, 1 Apr 2022 14:35:27 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AE21C34BB2 for ; Fri, 1 Apr 2022 11:33:37 -0700 (PDT) Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 231FwnWb017615; Fri, 1 Apr 2022 18:31:08 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2021-07-09; bh=YxXZzc9NcifzyJJKkdbQviqwxZpGWXRW6ied8c1WuVQ=; b=hFYwbaXCBCN9Ey4OBlB9THdsWCdLp3tLJrKEkCt4/9IUxSOeWK5APkQyra4r0mqMUwUC +77JNC0ZJ/Ch6WPsqMUOzPwNx+KOy7Qa8sI8fd7XmbTd8wqrkkN6e4Mt13fY6eIUzjPd mndea/ipPCHtt9RkOjsbHUk5wk31kIRz7iyNee5wkXmZv6Drn42hRk/9ofXtCgZkiOZN 1tOtsI7LycDbm2Ylo4BLgiYXhJP7PF9iLykGHZ/07cGANeefgbH1bUV1670TdSsxkQ0E k34rVTyygq0o0Qvz6ktRmIrUdMe8tonjHKrPLB1M82XlnqtO1oVugRGU9vIMQrCp3GXL +w== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com with ESMTP id 3f1ucu00tg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 01 Apr 2022 18:31:08 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 231IBO9N011921; Fri, 1 Apr 2022 18:31:07 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2046.outbound.protection.outlook.com [104.47.66.46]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com with ESMTP id 3f1s9690en-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 01 Apr 2022 18:31:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hz60ShID6mXawDT7T+8d8E2nZtQp7+/BPaB4cM1RlPYsOg4rXFAt4SK9rVp51D6/LrgPnbBLsSF3CideaXDUCEtC8Z1Z7YMd/gebH/l95OwkVg42hZaMFU7g50y7HMNqtgXMqrL4iaiG/rgbw0eb1f5JD7IWGtKLN5b3jLAfE2bmAyV42UBMrdM+dW1JZ9+HVjr/MMcjHeTkexmdvtl5p9YQdb3i2oO2FUPh20X78n5hs1TBlFNPIrw0Jo/8uR3hAyimy97HVpKgYh68n2pBUsapssXP3ZVV1ILYmr17CFodNil1ctcQL8xaSWRrRh+gGuDr2A/SC9WTY6vScLbrvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=YxXZzc9NcifzyJJKkdbQviqwxZpGWXRW6ied8c1WuVQ=; b=L6zCyzgx+FfrI7+4XZJbTmCmpDDjxsK/2bzULZM/gmy86kbx44SHP6jsgVYP1mwXZKJe9oT/PbDfz2yLmZwE+i0wSt6pd/Fa0+AJb6r8sMPpY3E3FtdExtqnuLc6kzXG9zHeEcvCF0hVJ1boNDmzHWQWZawF/p6Py6COygytKdItKAKsxwbfpsK+evGgw/LnyCMwczaHuYwJFPeE3aBuOupEXPejrrp9EXx6m7Q4BX7r17L259Np2TgmdXmmCPFYj5csHG/nKwmZbJkFAQXYJkZBxNdQsTnryTCQAesFtNbvJB2Uy1TY5s2YbywtzAr8cIWXnSyfSwHtKO2dXyTwQg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YxXZzc9NcifzyJJKkdbQviqwxZpGWXRW6ied8c1WuVQ=; b=QsMZpMIFDfv9GM1V5UktYFgvV13qQR+vaVOOaptOfRXaMWD1cUsvd1UuvVyJJ7VX+xv94RuONgz3mXxA0cUnqC4OHLuQ5z5iZ4Tasd58EDM5kiVr7ATQjagXMUxgiGuja3z+/eNDoEMw1ssIe8FSZWHX45uQqI/bSNdDorGLUZM= Received: from CO1PR10MB4531.namprd10.prod.outlook.com (2603:10b6:303:6c::22) by BN0PR10MB5502.namprd10.prod.outlook.com (2603:10b6:408:149::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.25; Fri, 1 Apr 2022 18:31:05 +0000 Received: from CO1PR10MB4531.namprd10.prod.outlook.com ([fe80::3188:fe86:1d6f:53ac]) by CO1PR10MB4531.namprd10.prod.outlook.com ([fe80::3188:fe86:1d6f:53ac%9]) with mapi id 15.20.5123.018; Fri, 1 Apr 2022 18:31:04 +0000 From: Eric DeVolder To: linux-kernel@vger.kernel.org, x86@kernel.org, kexec@lists.infradead.org, ebiederm@xmission.com, dyoung@redhat.com, bhe@redhat.com, vgoyal@redhat.com Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, nramas@linux.microsoft.com, thomas.lendacky@amd.com, robh@kernel.org, efault@gmx.de, rppt@kernel.org, david@redhat.com, konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, eric.devolder@oracle.com Subject: [PATCH v6 3/8] crash: prototype change for crash_prepare_elf64_headers Date: Fri, 1 Apr 2022 14:30:35 -0400 Message-Id: <20220401183040.1624-4-eric.devolder@oracle.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220401183040.1624-1-eric.devolder@oracle.com> References: <20220401183040.1624-1-eric.devolder@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SN4PR0701CA0042.namprd07.prod.outlook.com (2603:10b6:803:2d::16) To CO1PR10MB4531.namprd10.prod.outlook.com (2603:10b6:303:6c::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 521b4647-0fe8-44d5-95da-08da140dc7e2 X-MS-TrafficTypeDiagnostic: BN0PR10MB5502:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KxVABqPzyxKXiUtJktVFhYNZFd7dMBviU8BnVu9wchtoM4352pMS9SvCKSan1QU292YINO1VXkslVngKH+qly9QE9TrpoevsZN4XxeDwewGyV/+9+IVbQA2ZbAP0kb6lv0PaOSOl3TytuD1Tj4ySR5te8LNVAWaBPrmH79PoDp9HkHoyj73rHfp2uxa/DDOaAQV+VWyIJ7qPKX4MO6l//DWgp1+Cfm08Ui60k+EV2zu+Sf+dGvHyunbIrXEv5w88+nuiNLw9/dR2l5VMEHPJmUPmLkTFczeTMhnESMHmM9GPuQlPzXLNfBmn43qXlebViQzJwqxQV8e6o05EXZr2ThcpHb2VPia0hMymhgBTsF0ILG0NEXZx18daH1pKVKxM1myC3EPTR6U0YLszK2Vg0/lhec8iCUdSiB5abAjG0hbiIzLBMk0YffhWztUqpm7BpYuUAuSFs6kRNYFuNdgtH0AEkn4XfrEt0L0YSHdnfj0ahz58dAhPG5ksWinJ/lwYS2P7zU1HRqfDAwxNjYclQFCOVOIPGBY6YyVKeuJA8ZP0BIP8BjB0gntdtochNpxHaWBwIv4pXp/Xi1TCqRd86uwnYrwy8pQVWlaKyvKr2dlax5MKDHLVS8y6ALnu/vVivsk6lbeUCHc4U3Ja0GtFXMPrHdfwnqqWUcCRDWTskKEF0HGm3o7yrfR1oW9ra0ekHPeVUcaAF7eajHX4GIn70g== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR10MB4531.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(6666004)(2906002)(6506007)(6512007)(7416002)(107886003)(26005)(2616005)(36756003)(508600001)(52116002)(1076003)(6486002)(186003)(5660300002)(4326008)(66946007)(86362001)(66476007)(66556008)(8676002)(83380400001)(38350700002)(8936002)(38100700002)(316002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?SVWkSlDCdrxLSiyFc+DdkPpQLJda00idIiG8MGS7JtBSGBQSNu7dNASu0vyC?= =?us-ascii?Q?Chrjv1pvA4IYy+awVMRnQ2Pj19CH/n2qB79Ch1CJvEwzacKnqrohytKGnrxt?= =?us-ascii?Q?R/uXpggFhbNr/ACnZUeece/pUsXmvgM4eSuLffXuIEXTCbGFQmKiaRZgQuue?= =?us-ascii?Q?16y+KzlpOLaFhYxds1R+AwfXdUxJqjlC2dkkq306DNezEt6YvgzgNSW9191M?= =?us-ascii?Q?cJdWkj6AeOwRMMksUW+k0EGMhXvTvjdB4deUbRcWURlFqtO0g9Kda6QMPg9q?= =?us-ascii?Q?w+i2hFjft+dDwETPNT6IZhmAbm2pKfHI11MrnTg3ZXGlwwx2Qjn8WqidGKzg?= =?us-ascii?Q?i5oAH/XPjmitGwfyMheG8yKzZJ3l757oV1cYW1vM5kFm8p83O/pI4S9RPZF1?= =?us-ascii?Q?Nz2LOMncFWSie60qv+xDGRPfj4flGKEXhXntlRy2oDqjef62Ig/BBtv9RwB+?= =?us-ascii?Q?c7TZZZzgTvXsZFVgP8LeOZtQzdzbG7SoT/u6N+Q1IbugGXB21j43vbqiHRsx?= =?us-ascii?Q?zdb4u39hIZwO6OAMbIjnl2VGvS3asMbzHCnRHRXWTkwO8uycYu3NwSaPmJO+?= =?us-ascii?Q?IqnXBT5PzqGUzjznaxQPD/XSDBj7j2QdifwX+4ntq31nIBOZfvTrfAR0rT81?= =?us-ascii?Q?z2VyimL7ey5+SvTLzQVt4d3S9EGDYOOqj3X7NnGuZcdoaz5yS7UMpvDRteJv?= =?us-ascii?Q?LHo3WlBTB56hoeXjf+n1NOzK9IgcrNfAnh/74f+L5RSHCLcUjop5yd/S9gcy?= =?us-ascii?Q?KAiFlJO1NPI+IKbqlLHmP2jHrkTllly8CfFKdvsHWA8sglP9sk2XNZosCZQ+?= =?us-ascii?Q?gapmEdiuNOds/TlOhpnmYEzHqWKTK0asH1RHEWgQjwu5yKH2MH9uG/DTDXD6?= =?us-ascii?Q?wJRfZ1Uo25bLExUGmIS0Rc+0zzSlrBWYVo/rZOV8cADdMhTLZ8cD/ewu67kC?= =?us-ascii?Q?pOUXBkoba5MfTLrwLCEHaGAszp1KTfZGOzjYGgN3VN8DKXwIx0QqSFpCbiMf?= =?us-ascii?Q?EWSBqqPORBSdrJDQxwAyJQG50Ifi9oUNn8vuXLgAm2qGUsnhCTgfuvLPcZ0y?= =?us-ascii?Q?odnOIoBO0z+8OeYgh7KcjlvhXcneg57y7r3fkAlUWGpb4J5iec3exwf4HOr4?= =?us-ascii?Q?pKmUjPyuv7khv9cq3nZaPu+lOGI3te1Ic9Wsrd2sKQYmcETRBxZm3vSEVcgE?= =?us-ascii?Q?O/TlUoWWbK+/GKj80z67jw65hadav3Qg+/7/juURRaj7zAY9zJGGj11N+WLP?= =?us-ascii?Q?uyCzOrgmTB+NQNi4+gqlIIY/kDz3qCRKpDCGnFZs0InPVjawCiO7AXDvn2Hn?= =?us-ascii?Q?BlaFjOuQIPnE8Mpz+PFlvyNwm725/QqyTfPF+efS1yDfpFbnGGciQnb0xltx?= =?us-ascii?Q?W3mU9x4ZuyV6DuCYTcMQha9Pu5tlkHzNQMeHf1CDN/c4W6rwR0/EddLMmy9k?= =?us-ascii?Q?8wy2p6ElXD3YAfUEBtziGprLUMemxm5TVUthE2Mj++58VOqKaIR/7hQ6UspR?= =?us-ascii?Q?NUr4VpbwdaKVcbbRIVS5YQZE7tdOenPge42BPXpduUXFhYZhvQj8ptRssnu+?= =?us-ascii?Q?TNv11S2FyHhZq94oM5MOqxmske8f88GrRKU7kxkgmDJGiDiaHWgVFGRjY8+X?= =?us-ascii?Q?DPvAE1Je36ir8lIwZa/kl2I+LOfZJ9fu5YyZzvmjEk5O0QhhF5656KF1xJK7?= =?us-ascii?Q?fko4cy88uqLlgHwx6eYlqHxYcuJq0at2Cke0aC/nTPDqI/e1zHrPdLmqTWQu?= =?us-ascii?Q?wW92ajizN6gEL31jwons8RsQgGHzS6I=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 521b4647-0fe8-44d5-95da-08da140dc7e2 X-MS-Exchange-CrossTenant-AuthSource: CO1PR10MB4531.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Apr 2022 18:31:04.8536 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 8jiv7Tz1Xepaw1XE9vz6TMVgtVoV23ApxINhbcvhUwa6eRmydzBPFLY2My9uMHuzSmJ5dJNh500EtlMkjDOXcvHXvB0nnbvaskpRdDPv9b0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0PR10MB5502 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.425,18.0.850 definitions=2022-04-01_05:2022-03-30,2022-04-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 bulkscore=0 suspectscore=0 adultscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2204010087 X-Proofpoint-ORIG-GUID: vzfPOf5-87HqRVTQUHINmE-SzZ1tWF5S X-Proofpoint-GUID: vzfPOf5-87HqRVTQUHINmE-SzZ1tWF5S Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From within crash_prepare_elf64_headers() there is a need to reference the struct kimage hotplug members. As such, this change passes the struct kimage as a parameter to the crash_prepare_elf64_headers(). This is preparation for later patch, no functionality change. Signed-off-by: Eric DeVolder Acked-by: Baoquan He --- arch/arm64/kernel/machine_kexec_file.c | 6 +++--- arch/powerpc/kexec/file_load_64.c | 2 +- arch/x86/kernel/crash.c | 3 ++- include/linux/kexec.h | 5 +++-- kernel/kexec_file.c | 4 ++-- 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/arch/arm64/kernel/machine_kexec_file.c b/arch/arm64/kernel/mac= hine_kexec_file.c index 59c648d51848..7dbafb42ecf2 100644 --- a/arch/arm64/kernel/machine_kexec_file.c +++ b/arch/arm64/kernel/machine_kexec_file.c @@ -39,7 +39,7 @@ int arch_kimage_file_post_load_cleanup(struct kimage *ima= ge) return kexec_image_post_load_cleanup_default(image); } =20 -static int prepare_elf_headers(void **addr, unsigned long *sz) +static int prepare_elf_headers(struct kimage *image, void **addr, unsigned= long *sz) { struct crash_mem *cmem; unsigned int nr_ranges; @@ -67,7 +67,7 @@ static int prepare_elf_headers(void **addr, unsigned long= *sz) ret =3D crash_exclude_mem_range(cmem, crashk_res.start, crashk_res.end); =20 if (!ret) - ret =3D crash_prepare_elf64_headers(cmem, true, addr, sz); + ret =3D crash_prepare_elf64_headers(image, cmem, true, addr, sz); =20 kfree(cmem); return ret; @@ -96,7 +96,7 @@ int load_other_segments(struct kimage *image, =20 /* load elf core header */ if (image->type =3D=3D KEXEC_TYPE_CRASH) { - ret =3D prepare_elf_headers(&headers, &headers_sz); + ret =3D prepare_elf_headers(image, &headers, &headers_sz); if (ret) { pr_err("Preparing elf core header failed\n"); goto out_err; diff --git a/arch/powerpc/kexec/file_load_64.c b/arch/powerpc/kexec/file_lo= ad_64.c index b4981b651d9a..07da6bf1cf24 100644 --- a/arch/powerpc/kexec/file_load_64.c +++ b/arch/powerpc/kexec/file_load_64.c @@ -797,7 +797,7 @@ static int load_elfcorehdr_segment(struct kimage *image= , struct kexec_buf *kbuf) goto out; =20 /* Setup elfcorehdr segment */ - ret =3D crash_prepare_elf64_headers(cmem, false, &headers, &headers_sz); + ret =3D crash_prepare_elf64_headers(image, cmem, false, &headers, &header= s_sz); if (ret) { pr_err("Failed to prepare elf headers for the core\n"); goto out; diff --git a/arch/x86/kernel/crash.c b/arch/x86/kernel/crash.c index 9730c88530fc..9db41cce8d97 100644 --- a/arch/x86/kernel/crash.c +++ b/arch/x86/kernel/crash.c @@ -265,7 +265,8 @@ static int prepare_elf_headers(struct kimage *image, vo= id **addr, goto out; =20 /* By default prepare 64bit headers */ - ret =3D crash_prepare_elf64_headers(cmem, IS_ENABLED(CONFIG_X86_64), add= r, sz); + ret =3D crash_prepare_elf64_headers(image, cmem, + IS_ENABLED(CONFIG_X86_64), addr, sz); =20 out: vfree(cmem); diff --git a/include/linux/kexec.h b/include/linux/kexec.h index 58d1b58a971e..f93f2591fc1e 100644 --- a/include/linux/kexec.h +++ b/include/linux/kexec.h @@ -227,8 +227,9 @@ struct crash_mem { extern int crash_exclude_mem_range(struct crash_mem *mem, unsigned long long mstart, unsigned long long mend); -extern int crash_prepare_elf64_headers(struct crash_mem *mem, int kernel_m= ap, - void **addr, unsigned long *sz); +extern int crash_prepare_elf64_headers(struct kimage *image, + struct crash_mem *mem, int kernel_map, + void **addr, unsigned long *sz); #endif /* CONFIG_KEXEC_FILE */ =20 #ifdef CONFIG_KEXEC_ELF diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c index 8347fc158d2b..801d0d0a5012 100644 --- a/kernel/kexec_file.c +++ b/kernel/kexec_file.c @@ -1260,8 +1260,8 @@ int crash_exclude_mem_range(struct crash_mem *mem, return 0; } =20 -int crash_prepare_elf64_headers(struct crash_mem *mem, int kernel_map, - void **addr, unsigned long *sz) +int crash_prepare_elf64_headers(struct kimage *image, struct crash_mem *me= m, + int kernel_map, void **addr, unsigned long *sz) { Elf64_Ehdr *ehdr; Elf64_Phdr *phdr; --=20 2.27.0 From nobody Fri Jun 19 16:52:42 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id CBDC8C433F5 for ; Fri, 1 Apr 2022 18:31:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1351143AbiDASdj (ORCPT ); Fri, 1 Apr 2022 14:33:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40616 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1347972AbiDASd1 (ORCPT ); Fri, 1 Apr 2022 14:33:27 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 32B0F1DE6F1 for ; Fri, 1 Apr 2022 11:31:38 -0700 (PDT) Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 231G1jvX018556; Fri, 1 Apr 2022 18:31:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2021-07-09; bh=yWoNHKRVjZwGw+zcyx9KdD6XOXygZk4oKNadM3igd3Q=; b=TcM18WpsPwHCvswwU/6BDBohVbcGkPBBhk2+wuBOUs7cVdCtuzcuuJEm2SneJRbWKgHO mavApsUPyAYsrNAo7TJEiGwOhNidSf/7S0JIF5leP+FSC3eC/cObIJnzOivGQoLAqE+E LbicdtzTHKOkFlJJDg6bqHiZo1UZzi+0QNN4x7Sf22xBfxNvX3lqbr1IpwMgRP8+iFWt O3y4bpKPS8XkWGyULbvNiA4L/UCyx4hwU5DqodIE6mm4UBsVuteChnLlesdD6DxV86WU F6t5WB53UEwWKKrQb3NXiM65f+HWogdmgBdevU1qAfURBkpHTD2BCEqvohLfaoFDzaCW 8Q== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com with ESMTP id 3f1se0qs2e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 01 Apr 2022 18:31:10 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 231IBOmF011959; Fri, 1 Apr 2022 18:31:10 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2047.outbound.protection.outlook.com [104.47.66.47]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com with ESMTP id 3f1s9690fp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 01 Apr 2022 18:31:09 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hOX0gWbJUWqBqm+UtUKiK8O3AeUby50PVQljjgO4vnhUw0p4DH3MccaopWCExfcMN+ylz9/Le/TlKNTc7yhYzaQDHwCiwgRYU0fvHWfLzkUADG8Rw4ewlfZdOyZ0ULUs4ithGyQV9QqW1UD6qz9vCbV4G+f2uoMKkjMyxprh4w2HKh0EXo4SkAXD5a0uELNnDW5bysQcvkYwzh7HqT9pm/0KZ1BhO87H9QGsBgxLEDvqt3xB41KKH7JhozVKTLL4CohAJanzgT4XzBYnNgaPBgBorckQQM1Y4Lyij4shI0Mx10HQL0jtf1QX+YvGsUdl3e4fNfA4r2oauAJ6ABKOow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=yWoNHKRVjZwGw+zcyx9KdD6XOXygZk4oKNadM3igd3Q=; b=ZyrCFC6RejEo1mXBBEd1x3JqCz0j+gGVffPQvISMx9EtaINkfHk7+AXlC995CAngIrlb/QuyFtlqOAt0f4sEsiGHoDpOLzw+jvW3j43bOd+oZiyojZwBjoOS3dP3tHMQ++Hl6KY/kR9FkEQ0OJjVp834ejJGKreiFkOw4gSIphNggR351ZKQxCu0FRAdRrsjmXkTlsM6+bJ0ZBCYv3PgR+bQkKd/plxcdTE2poDil6m80+N5eCZ3PmulvpWudpKnIhej0MLhD5ukpE5cMK+calsUzcTT/bEMF0pVt17h9P0lcfqE2DRlqTVYBiGLcvqH1iqSmAKPKjVpzM+QSUk0hA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yWoNHKRVjZwGw+zcyx9KdD6XOXygZk4oKNadM3igd3Q=; b=DZCJKhF2scxZL/pjfsAKlz1dwcYz4hL+Wmrw/pn5tiRu1DBvG59XNxYZsweR0BDQgwnQCojbdNqMbaTh7JO1HF70zxqdz/xM7/4OcIOQKVFOw6Ji5/FSG1S+wZnB4ebrb+VoY50M9Jhc2BVBNjHI29JwDq+4Hd++eoBUO2F+ekU= Received: from CO1PR10MB4531.namprd10.prod.outlook.com (2603:10b6:303:6c::22) by BN0PR10MB5502.namprd10.prod.outlook.com (2603:10b6:408:149::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.25; Fri, 1 Apr 2022 18:31:07 +0000 Received: from CO1PR10MB4531.namprd10.prod.outlook.com ([fe80::3188:fe86:1d6f:53ac]) by CO1PR10MB4531.namprd10.prod.outlook.com ([fe80::3188:fe86:1d6f:53ac%9]) with mapi id 15.20.5123.018; Fri, 1 Apr 2022 18:31:07 +0000 From: Eric DeVolder To: linux-kernel@vger.kernel.org, x86@kernel.org, kexec@lists.infradead.org, ebiederm@xmission.com, dyoung@redhat.com, bhe@redhat.com, vgoyal@redhat.com Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, nramas@linux.microsoft.com, thomas.lendacky@amd.com, robh@kernel.org, efault@gmx.de, rppt@kernel.org, david@redhat.com, konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, eric.devolder@oracle.com Subject: [PATCH v6 4/8] crash: add generic infrastructure for crash hotplug support Date: Fri, 1 Apr 2022 14:30:36 -0400 Message-Id: <20220401183040.1624-5-eric.devolder@oracle.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220401183040.1624-1-eric.devolder@oracle.com> References: <20220401183040.1624-1-eric.devolder@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SN4PR0701CA0042.namprd07.prod.outlook.com (2603:10b6:803:2d::16) To CO1PR10MB4531.namprd10.prod.outlook.com (2603:10b6:303:6c::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a43a745f-75ff-4f11-538f-08da140dc97c X-MS-TrafficTypeDiagnostic: BN0PR10MB5502:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RC+jH6T4rD8OhYxfY+60leEc2lfh7YvykWWkooBhc+CCeJcpSZDgTtsTvXZ1L51oFfU1N1sgNT8ulB8dJGhxrSuvS4rfZFyAYiffPf8SDktDeF7IKNZsv3ZFp9iHnDmTv3j/i82j9LmAIzefRmS/UoLIMxbjzr75CiQfQPP3QC5p+mD+pp3pKyJS0WAmaxIWry8T6L4VJNNsf7J1SMr38tJar1KhRsX1xm7Z0h7EapJQXWttGghKkXu/SQiU61Z85Cq/1ugniq4Dji6T0ksr46La5AYS208Slj+nrhzn4LdiKD7E9MFReCohkpDl8hbpoHrlBztBdkDi3vsx9Dbfd1dePe8Hbcvg7B36f0zM137K87pbLDy1EtcVfYQA1wjquKS2hKgIn40Vj46Aa6fJYRpTWUkqEyFmKsu/X3lZsqmO58x21PxLNe1BgFZ+58jK/IPsvBAN5L62exf9JNmdJZBvB8H32AEnRYL/JDFllkyTbIEGa0ptqw7jZfdcJH1hE6L1uz9QSXeh0WyqPxB1V21Lfi3Rvhm1NZTqkkL/9fspcTIEk0sblSBJPIYqUo9P844xMVgxAbWBlkcnx6e3gLffp324j07mW+SH2SVdOb6a3Q1qwfYasUbf5VjeJqh85Tzl/flh9/xY701lSlseJAREf+EhBAPwP7jg+lHmJjRVXJz0PvzieTggl8IL/SIITh++ii2brahTpKvfsDJuxA9AhvPMnItJXEeIRg0L82M= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR10MB4531.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(6666004)(2906002)(6506007)(6512007)(7416002)(107886003)(26005)(2616005)(36756003)(508600001)(52116002)(1076003)(6486002)(186003)(5660300002)(4326008)(66946007)(86362001)(66476007)(66556008)(8676002)(83380400001)(38350700002)(8936002)(38100700002)(316002)(41533002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?DyRTQPCrDVGefcwOOWxHy0QUGlg2eYgJkjpPl/sM7ME0FYZt7567mSk/jrNY?= =?us-ascii?Q?xhsoCr50KAxlSlXzuCQNHRw1Tx/q1cAgWCNaiMNZFAXIR5b4lalEb8n9mYu7?= =?us-ascii?Q?pBw0nN/jNl4I1zPi2vlHNB1ZeiAvazqHc7ZyzT2vp8NN2D0qej4qOOdYeH2t?= =?us-ascii?Q?o7doGGM93itWu5vXw5OijGKMV20bbsLePD7GBZd/kTT2bZvMMDOXG8CZVo4W?= =?us-ascii?Q?cwUmgqRfFnoQ+obzayaiioX9JMjbvBAizZfkanH2/bUMemzAyNK/ScB7Qb16?= =?us-ascii?Q?cvIeJspTC8pI7QO1RVp2QsoSZLYPzUFZdZ9gndC3K5VlNTHcXV2muTL8TwBC?= =?us-ascii?Q?PKM4WUyXno91ePQklies5Xu32QuVslVrIAN6A+TgVTe6KvFQVthNs9Rxi1LD?= =?us-ascii?Q?HtfHabNzWkB34t43ba2UJug6M8hisi0w0GUcvDoM1ZUcVU85ZVZ2fVFq3oBZ?= =?us-ascii?Q?0CBQs0v2D06pJSR74L9JESppJwlhwn33FUJzfWvGNop1O4xgQq+tLg98haVc?= =?us-ascii?Q?q84rfZMTJM7YhYLZV6lYQlzj048e93T6gWUtjbvLwRIg5Fck6LrmvSyFGKRe?= =?us-ascii?Q?/EChWHLAH0xPq5PdnOSMItg7TJuBb8bfryyPuqtz3l2upQ3yP8UzKc0h6YiL?= =?us-ascii?Q?9/dsTPRK9FlRoa2ByFKkyfiZMkczwQb9tAikD4suGHIofZnYsZOC8r7Dm39W?= =?us-ascii?Q?fuOpl6Q1VvDVFdwBTvICzma9eR89xudUwqzBrSs1wTnvhaiv88K9OGeHU97W?= =?us-ascii?Q?H0NIlLNCJ2WIpMWI2PbR8WVWqKA1CzdW4Gikk2jJUXoDat1a1zigGe1liNEc?= =?us-ascii?Q?VBlswVTiCBJt6BCTdxkla0g3FglSOvteBd2sBb+ZUAYKnBx2LRxNTpP2Rdfz?= =?us-ascii?Q?Y+Mk4h5b4rAgrYVvduULoXxlQjzy1w3jJtcfKPqFr9dZC5GyLgHnndk4v4UU?= =?us-ascii?Q?muqLSYe3mVBqrNQ5YlyVzWPIYW9HcFw2GxyLbz9qC2s8b5QeIaldeiUGmNkL?= =?us-ascii?Q?5KufAru/Y7FDDkWzzj5RXSDUW/Aiwni0I1bCLjJWhqV8kv6/TlBxvn0JDpJz?= =?us-ascii?Q?8EblC7HpsLxg6KCSo1/Yc8AYCNC8kcxlbNlaBYixvKHIhyPaohM89hiDhhCG?= =?us-ascii?Q?u4d8n21Ka71iLwABjpohMd/lQg2H2ynOmqXPusVYZu8guTKuji3OI1TSfPeJ?= =?us-ascii?Q?04v4f1QFCqipXM4HKvm78BPlvKMpdXGXGzOn1wcuU89P+5tgsk2pTehZdMr/?= =?us-ascii?Q?tv/2QtY8zoe+jzxR4j3wqU3nQSbKORm9bwmt0l3Xde4K+MP2sItV4dMgqy+S?= =?us-ascii?Q?foavGjacX3Ktpv+Tf+/E4AuJj2j0Z73ZFLWo8h2dw0QtBOa0oOInw0c2w+C9?= =?us-ascii?Q?cnFHxk3zzHzAZKNXmE0MifgDN8cy74CfHxl+Xxc6H0R/EG6HTjhVvd73BXd1?= =?us-ascii?Q?egJJ7J6Fzda+pi4QKcA/eew0LHwTj5TjBAaQIYxJhdRYvVFV3+qdmI7MKsnS?= =?us-ascii?Q?THoc2itKQRdCoAv+18DOXPLPIZ9c52OUMT0wo0OLpmkTutC9PT33dR+XMwKn?= =?us-ascii?Q?bwjmxaByjTNr48zjTFNEW79bOGwIu6xvkodZ0ZwBUzkJ4pT90tddVF9+dfQK?= =?us-ascii?Q?dJ6Ub2CVH/fx0zXMD0d2GukIibFZ5qiFZbf+pD42JbNcEC/StOYKVxfl65qd?= =?us-ascii?Q?LgnV90o7r7JRDb189TQC1piemzZCuoKStHGIAwxcOL9bbmmt9nF5rLz1Rcq3?= =?us-ascii?Q?y76Mt7rif22dd4xy0ps8bXSfjYHwlOA=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a43a745f-75ff-4f11-538f-08da140dc97c X-MS-Exchange-CrossTenant-AuthSource: CO1PR10MB4531.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Apr 2022 18:31:07.5251 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: g31fRlFvUZIyy0Ftq0/vs+i7i3WZGU/opQzjYLamm6ezSez8hAKEXsZUiuPES4lDQtltj+IU1BmYqkifyWGKvn8Sgq8agb1gy5LcUQbYwbQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0PR10MB5502 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.425,18.0.850 definitions=2022-04-01_05:2022-03-30,2022-04-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 bulkscore=0 suspectscore=0 adultscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2204010087 X-Proofpoint-ORIG-GUID: 5s2GvxdqA1BGYI0bnmkSq8mucEzP9u9s X-Proofpoint-GUID: 5s2GvxdqA1BGYI0bnmkSq8mucEzP9u9s Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Upon CPU and memory changes, a generic crash_hotplug_handler() dispatches the hot plug/unplug event to the architecture specific arch_crash_hotplug_handler(). During the process, the kexec_mutex is held. To support cpu hotplug, a callback is registered to capture the CPUHP_AP_ONLINE_DYN online and ofline events via cpuhp_setup_state_nocalls(). To support memory hotplug, a notifier is registered to capture the MEM_ONLINE and MEM_OFFLINE events via register_memory_notifier(). The cpu callback and memory notifier then call crash_hotplug_handler() to handle the hot plug/unplug event. Signed-off-by: Eric DeVolder --- include/linux/kexec.h | 16 +++++++ kernel/crash_core.c | 108 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 124 insertions(+) diff --git a/include/linux/kexec.h b/include/linux/kexec.h index f93f2591fc1e..40e426cfd795 100644 --- a/include/linux/kexec.h +++ b/include/linux/kexec.h @@ -306,6 +306,13 @@ struct kimage { =20 /* Information for loading purgatory */ struct purgatory_info purgatory_info; + +#ifdef CONFIG_CRASH_HOTPLUG + bool hotplug_event; + int offlinecpu; + bool elfcorehdr_index_valid; + int elfcorehdr_index; +#endif #endif =20 #ifdef CONFIG_IMA_KEXEC @@ -322,6 +329,15 @@ struct kimage { unsigned long elf_load_addr; }; =20 +#ifdef CONFIG_CRASH_HOTPLUG +void arch_crash_hotplug_handler(struct kimage *image, + unsigned int hp_action, unsigned long a, unsigned long b); +#define KEXEC_CRASH_HP_REMOVE_CPU 0 +#define KEXEC_CRASH_HP_ADD_CPU 1 +#define KEXEC_CRASH_HP_REMOVE_MEMORY 2 +#define KEXEC_CRASH_HP_ADD_MEMORY 3 +#endif /* CONFIG_CRASH_HOTPLUG */ + /* kexec interface functions */ extern void machine_kexec(struct kimage *image); extern int machine_kexec_prepare(struct kimage *image); diff --git a/kernel/crash_core.c b/kernel/crash_core.c index 256cf6db573c..76959d440f71 100644 --- a/kernel/crash_core.c +++ b/kernel/crash_core.c @@ -9,12 +9,17 @@ #include #include #include +#include +#include +#include =20 #include #include =20 #include =20 +#include "kexec_internal.h" + /* vmcoreinfo stuff */ unsigned char *vmcoreinfo_data; size_t vmcoreinfo_size; @@ -491,3 +496,106 @@ static int __init crash_save_vmcoreinfo_init(void) } =20 subsys_initcall(crash_save_vmcoreinfo_init); + +#ifdef CONFIG_CRASH_HOTPLUG +void __weak arch_crash_hotplug_handler(struct kimage *image, + unsigned int hp_action, unsigned long a, unsigned long b) +{ + pr_warn("crash hp: %s not implemented", __func__); +} + +static void crash_hotplug_handler(unsigned int hp_action, + unsigned long a, unsigned long b) +{ + /* Obtain lock while changing crash information */ + if (!mutex_trylock(&kexec_mutex)) + return; + + /* Check kdump is loaded */ + if (kexec_crash_image) { + pr_debug("crash hp: hp_action %u, a %lu, b %lu", hp_action, + a, b); + + /* Needed in order for the segments to be updated */ + arch_kexec_unprotect_crashkres(); + + /* Flag to differentiate between normal load and hotplug */ + kexec_crash_image->hotplug_event =3D true; + + /* Now invoke arch-specific update handler */ + arch_crash_hotplug_handler(kexec_crash_image, hp_action, a, b); + + /* No longer handling a hotplug event */ + kexec_crash_image->hotplug_event =3D false; + + /* Change back to read-only */ + arch_kexec_protect_crashkres(); + } + + /* Release lock now that update complete */ + mutex_unlock(&kexec_mutex); +} + +#if defined(CONFIG_MEMORY_HOTPLUG) +static int crash_memhp_notifier(struct notifier_block *nb, + unsigned long val, void *v) +{ + struct memory_notify *mhp =3D v; + unsigned long start, end; + + start =3D mhp->start_pfn << PAGE_SHIFT; + end =3D ((mhp->start_pfn + mhp->nr_pages) << PAGE_SHIFT) - 1; + + switch (val) { + case MEM_ONLINE: + crash_hotplug_handler(KEXEC_CRASH_HP_ADD_MEMORY, + start, end-start); + break; + + case MEM_OFFLINE: + crash_hotplug_handler(KEXEC_CRASH_HP_REMOVE_MEMORY, + start, end-start); + break; + } + return NOTIFY_OK; +} + +static struct notifier_block crash_memhp_nb =3D { + .notifier_call =3D crash_memhp_notifier, + .priority =3D 0 +}; +#endif + +#if defined(CONFIG_HOTPLUG_CPU) +static int crash_cpuhp_online(unsigned int cpu) +{ + crash_hotplug_handler(KEXEC_CRASH_HP_ADD_CPU, cpu, 0); + return 0; +} + +static int crash_cpuhp_offline(unsigned int cpu) +{ + crash_hotplug_handler(KEXEC_CRASH_HP_REMOVE_CPU, cpu, 0); + return 0; +} +#endif + +static int __init crash_hotplug_init(void) +{ + int result =3D 0; + +#if defined(CONFIG_MEMORY_HOTPLUG) + register_memory_notifier(&crash_memhp_nb); +#endif + +#if defined(CONFIG_HOTPLUG_CPU) + result =3D cpuhp_setup_state_nocalls(CPUHP_AP_ONLINE_DYN, + "crash/cpuhp", + crash_cpuhp_online, crash_cpuhp_offline); +#endif + + return result; +} + +subsys_initcall(crash_hotplug_init); +#endif /* CONFIG_CRASH_HOTPLUG */ --=20 2.27.0 From nobody Fri Jun 19 16:52:42 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id CF2C2C433F5 for ; Fri, 1 Apr 2022 18:31:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1351087AbiDASd3 (ORCPT ); Fri, 1 Apr 2022 14:33:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40582 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233708AbiDASdZ (ORCPT ); Fri, 1 Apr 2022 14:33:25 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1546A1DD3FF for ; Fri, 1 Apr 2022 11:31:35 -0700 (PDT) Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 231FvHlJ018522; Fri, 1 Apr 2022 18:31:14 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2021-07-09; bh=o+Dqt0zbsENuTCOkZXMb7UtSXXrlQOB3YFbgnmTe+Lk=; b=xe5mUWWBiu4QHy5T7Y2+w5AaZkf1P1HCb1ZwmMnYEBHFKG7VlqrOA4TmbTQ4vujy2jn8 v53l0pUctQqV95b6jbFxAuK2Mv+ekF+6GjmrpZTD36Ark1lZiPVQ6T8OTJFzyLhPpHjA LgM2Xm+ubbVZi6bXblQqs1t5nxfLC4y34tC3Y8p+ccHibREyktCmOkiHi7E7JCGdSXB5 AXQuvTVWcxGlOkGerp28voALcD8xyLAPLHw3tbsyfG+ykQS1AHVFEq5EL2hx5nuBKjBZ uDEx9fp3Ivcd+zw17oYmV+TzLX7qEZdpY5ZCyZ3nTU5DVP2ZtIYaDEyJfNe0MPmA8BVq 7Q== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com with ESMTP id 3f1se0qs2g-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 01 Apr 2022 18:31:14 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 231IUcV4020441; Fri, 1 Apr 2022 18:31:12 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2103.outbound.protection.outlook.com [104.47.58.103]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com with ESMTP id 3f1s961qdw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 01 Apr 2022 18:31:12 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GSJEaz81Y8aiskqbYMB342YZQnEt6iyCP03WqvVR6+RYgKUeExcYolyBeu34R38EMbONU6E3QErNiDeS+CUZltwjezapajGe2ltZ0zOSE7qN50q4xXMV+3C/KGqJ1cQEQ8586/QCK4PxSjzaeBRWsr3xqfog9PZg9dw8q8BC1gpqQY9JDku5xnwzGDyxAVQXqSuNSLmSCbFWYshIxgM6CAE4QhEeemyqEdyCKmMLPBIyk9MUd6YArX12iGrJQR56m14xo8QpZgdoGiFmhdG/Qg3L/eaqWjJZislF1xcI22DKpG0LC1/C5zBBQigKYFYQJbjvoB4Ulz8h9H0IDJ33Kg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=o+Dqt0zbsENuTCOkZXMb7UtSXXrlQOB3YFbgnmTe+Lk=; b=bwtyU8LJDYNu+cjOJEu67dM7F3jt4STb41n/pA800V4QinwIOT/HAGsH4XkJGuVszIq8wGEuEojIkocHNFVy8yeE8oU8HogiLEba+1mkNjeGi9SmyNY8oTUKsRmg9LT6pwYgeT+BbHsBIRUCcCcKUJ4QAKOEaNIpyCaLtyeByj7fpwrapIKMhjevJGW3+40OOBRf52PJH96XOVg4UGAnOkerRORwqwOXSyNq27YoRWfU/cz6kP2W/xuFrMEjt4mkEi7TxQJdIHCKSJijGJmmSk8DscDYrlMR6fXfpHxMgTYt+yZ0rgnF7MDWtAFzTA28uV1zVh0d/ENqKREmt/K8+A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=o+Dqt0zbsENuTCOkZXMb7UtSXXrlQOB3YFbgnmTe+Lk=; b=FgsWz1MvQjbboUbBPAGmudhY5t0pvYUfvtJSAPPUCyKz3av8Un8qwGbnuvc4pysHRJkK187s8ttUuQ2xNoJYf77HkbFpzo4a9UOLRRYD0D4B8BdFfW/J8o8jM3tIc492T40cG/iXnUpRCRpOKsnImAOHTokJTrCF5RyQqkEvzlQ= Received: from CO1PR10MB4531.namprd10.prod.outlook.com (2603:10b6:303:6c::22) by BN8PR10MB3268.namprd10.prod.outlook.com (2603:10b6:408:d2::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.29; Fri, 1 Apr 2022 18:31:10 +0000 Received: from CO1PR10MB4531.namprd10.prod.outlook.com ([fe80::3188:fe86:1d6f:53ac]) by CO1PR10MB4531.namprd10.prod.outlook.com ([fe80::3188:fe86:1d6f:53ac%9]) with mapi id 15.20.5123.018; Fri, 1 Apr 2022 18:31:10 +0000 From: Eric DeVolder To: linux-kernel@vger.kernel.org, x86@kernel.org, kexec@lists.infradead.org, ebiederm@xmission.com, dyoung@redhat.com, bhe@redhat.com, vgoyal@redhat.com Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, nramas@linux.microsoft.com, thomas.lendacky@amd.com, robh@kernel.org, efault@gmx.de, rppt@kernel.org, david@redhat.com, konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, eric.devolder@oracle.com Subject: [PATCH v6 5/8] kexec: exclude elfcorehdr from the segment digest Date: Fri, 1 Apr 2022 14:30:37 -0400 Message-Id: <20220401183040.1624-6-eric.devolder@oracle.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220401183040.1624-1-eric.devolder@oracle.com> References: <20220401183040.1624-1-eric.devolder@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SN4PR0701CA0042.namprd07.prod.outlook.com (2603:10b6:803:2d::16) To CO1PR10MB4531.namprd10.prod.outlook.com (2603:10b6:303:6c::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 86480e38-5fef-484a-a0d7-08da140dcb14 X-MS-TrafficTypeDiagnostic: BN8PR10MB3268:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hdxpJuLjkFrMBX9udwVN0ATm2eoX1u44ZPQMTpLYwiB6dckN9/RaYvSSwnRiCL3eOLRGacuh6csZFD7K9pNJH+ZQhkjEFflnnFxC83JBUqNLwUwUL7qdDaL2x0B50MDN0K1hoaJQJNi5Rt9XDb1D1he2S/m2Q8cjwcUe1p5pHMNuiWkv13/oOKvgfIr6xIRyAmG97f/b2Ijb8blJ8sULDXTjRkzOHSESzUmX+eTjjqAxRvkFx52M/wjEKjXGsHSew3asBcleev4Pb3r7tNSxM77VKEGEtq4bUXG74FrxPXnIn6vuRonkDWB4X6aKPHMim2ENFrdL52qwnGucfWQOSCzGUDmc24CiqYI65Awp3wbQMEmmrAsIPetdjC/tNivGYHwhbDoaNrt5PM6SAXS4yYvbU/GiUB9UgsgaAdpESDRv9mqJg7qLXB32uRJv0zx0dacymk/fBOm1WV/scJMxzteNJocYGRZQSpH7CNOw24PWi3Yq3/QUlhccUFe7m9JM5MtUGYErZxMoSVuSSIN1OSzmOxUcJqsZmfTIZPZ1mOr8Rr5t7qJMPlNuOfj99Gl+WcbAGsEYKVzzcBNLUpokWgV5rNizp7Z8vE4vPiPBqMPS5Z66KGDXofGEREaKAm7TovWvJnHVw7zwvyZdaLQNU2crlw7KbZcIsQFJUh8+fpqquHKnnn5Z3vD/dJ7B/VesxRIWuTljaskcixLG2oEyiA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR10MB4531.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(1076003)(86362001)(186003)(66556008)(26005)(107886003)(316002)(8676002)(66946007)(4326008)(66476007)(36756003)(6512007)(6486002)(508600001)(7416002)(38350700002)(38100700002)(6506007)(52116002)(2616005)(2906002)(5660300002)(6666004)(8936002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?6XEhXALry3Pb5c/XWp17v76Jc4u0BSrhxvuFPJj8ncMDHmfnXsFUO12hy7Va?= =?us-ascii?Q?psgO4290Otrg7BBgf7PTUGg9RwMIXFpI8VFAcqroaNEtZ1T/cyDGpVLOf8ik?= =?us-ascii?Q?vZlJ47Q6kRxRtuEdFMjkGk6PYIWQYOIkwsQNB6MMORL/LbT4sMWSyVEZH3z+?= =?us-ascii?Q?kCAub1vdiYeDmrxqlCFBeJME+2Fjfg/qtesxq6S8/kzWeB8T/N9hF2VJn3ro?= =?us-ascii?Q?Vms7l9pxsZT0fHiBrcJTLIAxmsXj6ZdPSQU/Cm9WpwneF2crZ55/hUZr1lBv?= =?us-ascii?Q?dqRX/O2OLXjhm7hhhGGvC27igwfGP2u3hoioPQ4RUJ1KMe8GUpFlCMKzIH87?= =?us-ascii?Q?pmbEpjeKtzl5c0kP0aMDVzCKT60u7hV8yyhIDRGimPn86Z5bmZAU8UlbyDsZ?= =?us-ascii?Q?RN1jYTKuW0bOYBvwh6J9mZNnF2WGTV9l9mHJI1WC2DaIWX3JUMWsKEW3dnW9?= =?us-ascii?Q?96pTKaZTrlHB6Z6nkHmwO1HImc3oJ8NsBb+e39pHxATMLDP8EURM3+WIOCZG?= =?us-ascii?Q?VKtxvSGOVOFxaNjkQEXo/z7/AbeVYHKzbcniC/xZKQFCYU3yvOVX7TaVgOre?= =?us-ascii?Q?Svc/d2yyx1Z6nrrZEhbHuTrVKmkS5fscn2ASILQOE/gr76q20n/34MFNgz+D?= =?us-ascii?Q?IUykY50IsAUI6s5AKDC33BkKoaoG2hZ33kjQFxpe62HeXbE6B4pB4ru6Y1j6?= =?us-ascii?Q?qnYHORJx0UbeUR+t+t+QMsa5utJ+NC5SW6MsJdWYbTplKIYNbV8Uge+ct/x8?= =?us-ascii?Q?4oHvNAoS09rGH+jzD0KjAoriTyOaP8QO1lkgSkauD/Y+3arvMySdau0QJwqs?= =?us-ascii?Q?hbXTWW84Wl3N8HdvZji//5YrC5iAsu00oE6UQiNuoobZUiah6yleHm7goj7x?= =?us-ascii?Q?nDiGI2AQCHusgCJw60dYAP8xPeGGCRv7ouCtTV+bwHH+baDILm+eR0qm9xgC?= =?us-ascii?Q?KMIhE0WwoEBGJt0VeHxNKdhrFPeeOz3NstUbhbOQGikFTq0lwanR/aycHHDw?= =?us-ascii?Q?3lWnc/DFScH2Fe1gjEan58pis5EuPM1UiLr42KXyFxZag/lf3Tn+bRDDSyF8?= =?us-ascii?Q?xJ/575QQK3fEX/Z7qQdXTlUTtVx97m72Mc1adE4Tqc5kVljF6ShPLd64+sc8?= =?us-ascii?Q?2iAY4t6oeiidhS/buFmBMs/HQry/pWBhRLyc72yf/kXyCQw63sD1MtNqCst1?= =?us-ascii?Q?n6Srxu9BHJGqvFfY7u6M6/rmEcaSS2OASgNVG/l+lE/xaj2xdjg1A6mxTSob?= =?us-ascii?Q?5RkHE7xhhPL3MopC6SZ3QFaxly+m+UEQcHRKjPMQA4dqbDuaxz0pHotNiaJ7?= =?us-ascii?Q?GWWpMmDXOuGkDnjpqFQM6FjR5wAPJ5IYTNuZaV6BhiLdb3WLY1E1RL/0Ihet?= =?us-ascii?Q?JtWxcGTz/Pla5rOawgihZBPgDRhufNEBoXOXINJCQsgpUxvQ43zdrPufC/Lz?= =?us-ascii?Q?ZEsIRzgLSsFnwBZLJWj5Ft0WNxW7SMBXZUF4InODtrdwjlqy27lSfeIdnUrD?= =?us-ascii?Q?IYYHrUF7lzi4eQ//yLaAxOx5XzOOK2G+pMyU1UKHnBGgSGzAxC9SVA5s7bZE?= =?us-ascii?Q?aOnWZvksLTlYcb5R2uxX3wbsPBuvnEU8wCpglrvfA6flXv8MTXAvdsNAGPGT?= =?us-ascii?Q?VuvfAsDZ1kYJPc/PSDNnnY1xCGwjmil7YP6lrc0pkmDmu83yvDcW9aXbMKta?= =?us-ascii?Q?x6NhwTbKySmeV93ryGwjg26LB/DstcfI3Jn5DwqCOyNN65xMKTM3Z6XagG6K?= =?us-ascii?Q?hDqZaG5NncSa1yzyaBctsfkQMUzvoDQ=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 86480e38-5fef-484a-a0d7-08da140dcb14 X-MS-Exchange-CrossTenant-AuthSource: CO1PR10MB4531.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Apr 2022 18:31:10.1697 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: e8YbbJRZ44rdhR88U5fgqiHNMgGRknCMgrnLj3TNtqM95lom15fbVsBh1YZenKgcoLdu4bQTE+dGF/d3Is3ZGSeGS0gbzTYJPiVcrkN5Ifs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR10MB3268 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.425,18.0.850 definitions=2022-04-01_05:2022-03-30,2022-04-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 suspectscore=0 spamscore=0 mlxscore=0 phishscore=0 malwarescore=0 bulkscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2204010088 X-Proofpoint-ORIG-GUID: tnjTQmq1b7JlxD_PM-XbPamGPYkGr9uL X-Proofpoint-GUID: tnjTQmq1b7JlxD_PM-XbPamGPYkGr9uL Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" When a crash kernel is loaded via the kexec_file_load syscall, the kernel places the various segments (ie crash kernel, crash initrd, boot_params, elfcorehdr, purgatory, etc) in memory. For those architectures that utilize purgatory, a hash digest of the segments is calculated for integrity checking. This digest is embedded into the purgatory image prior to placing purgatory in memory. Since hotplug events cause changes to the elfcorehdr, purgatory integrity checking fails (at crash time, and no kdump created). As a result, this change explicitly excludes the elfcorehdr segment from the list of segments used to create the digest. By doing so, this permits changes to the elfcorehdr in response to hotplug events, without having to also reload purgatory due to the change to the digest. Signed-off-by: Eric DeVolder Acked-by: Baoquan He --- kernel/kexec_file.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c index 801d0d0a5012..94a459209111 100644 --- a/kernel/kexec_file.c +++ b/kernel/kexec_file.c @@ -765,6 +765,12 @@ static int kexec_calculate_store_digests(struct kimage= *image) for (j =3D i =3D 0; i < image->nr_segments; i++) { struct kexec_segment *ksegment; =20 +#ifdef CONFIG_CRASH_HOTPLUG + /* This segment excluded to allow future changes via hotplug */ + if (image->elfcorehdr_index_valid && (j =3D=3D image->elfcorehdr_index)) + continue; +#endif + ksegment =3D &image->segment[i]; /* * Skip purgatory as it will be modified once we put digest --=20 2.27.0 From nobody Fri Jun 19 16:52:42 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 42146C433F5 for ; Fri, 1 Apr 2022 18:31:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1351131AbiDASdh (ORCPT ); Fri, 1 Apr 2022 14:33:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40598 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241786AbiDASd0 (ORCPT ); Fri, 1 Apr 2022 14:33:26 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F1DFE1DEC1D for ; Fri, 1 Apr 2022 11:31:36 -0700 (PDT) Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 231FkuFM018350; Fri, 1 Apr 2022 18:31:15 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2021-07-09; bh=dAeGNiKA+HbyG44g+OzDSGwKtiI8Fufm9FEebQ5F42Q=; b=WZOVK/M9BvHrA66rQctVSnPyXj40g9bxK0NQuonxLqtvPMwbWrCkNFUBxL1eM5oQ3sTJ nDDPCHImRw/WjsRnReIA7eBRCREnFPZJDhu06+DW67bqQ2MAdLWk8+C1dvXwsl773WTz VecZujfV8/4KMsOkf5L/AdWlXD7AqbRjuejCLnV07jr5Q8KFVF236wUZ4U4KOq4IOO9+ hp9tY/bjM10YJzLexiT479LYGg160+yZ/W3m/2g/mehJA6WRCAmlC6F7hn1ctiPhQQm8 zltr4R9KAwTYjrnPpFyhb+l7QziilVOON72PNYg0ONYg9vEMzshrxfvZlexLrmFNb0RE Jw== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com with ESMTP id 3f1ucu00tq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 01 Apr 2022 18:31:15 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 231IBOhM011881; Fri, 1 Apr 2022 18:31:15 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2043.outbound.protection.outlook.com [104.47.66.43]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com with ESMTP id 3f1s9690hk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 01 Apr 2022 18:31:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WUaq0o9Xy3JvmzD52N8CuCoffKIU73rDzG/lHzuwW27f3mn74TwZI1GLedeixZwaVKHwwxgjGNVdaCzIOceSd7EdsGKkeXZCNU3nUylCWfu2RWK8nP4rH8UlpIs6wGVAv2Vzn45wzFpfmYDc2jvKpOzgjxKBBW96m194Cm6sRRWIIfuvTfqi7An472HXp6OvR94ATwZPN/y47Rt+ccwl29GB+X/QcL7u6/XTnbThQHSGLRVpOheujX5RYhhTCKcE4oOahr8MTHuSlAZfhMGvSvn7jpyoacXGYp66SMzr442n8D1pcypeZmdpnSy+cscREp7vI0JRKsmEtWMfiPAEsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=dAeGNiKA+HbyG44g+OzDSGwKtiI8Fufm9FEebQ5F42Q=; b=Jegq29UXjkEpJETE9Tv6DRDhaFWbxeSOulQbL2HqX4axdQb8fex2kz9iWl24Hzfuik6acKBotWC6z95GpPpt66DbLna/N2ecpjpcZDNDG4siiAhipMtghPd33vvy8THmDVT+hZz2xt1hlDVJTifMPNo+bQg2TbH24MwqTUTb3jswSdUCp/E6tUYPUPsBz91Yz34i7IKgJR9Y6HcYu2WEW++2lJaQFPsWFSPhLBU4Jkd7FU+FA0yOpLW/Dr67dieHVWN9gYdrBDwz+sZIDlW35B9Bn1g56ROLp2czb8jvZibBxKP0ED0szT7IkFHYMBiy/Xoy1K4uTB/KSQHcd0GmTw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dAeGNiKA+HbyG44g+OzDSGwKtiI8Fufm9FEebQ5F42Q=; b=ZIXZe56ekw3vmA8rQoYPbEh5Hj7gj3SWFAsnnPZJm/AGqCtxNJb7OhWUWiK09BKnwqTfBx+FXZ6fQCugNjRWoUsXERp5MiYRooK6Wb5/Hkfx7Ik5cJLqBCY3dW8lNHnC9Lx6FloO5pI+s5R+3Eu1kumw/4XdS9ZcIwF9AngP33c= Received: from CO1PR10MB4531.namprd10.prod.outlook.com (2603:10b6:303:6c::22) by BN0PR10MB5502.namprd10.prod.outlook.com (2603:10b6:408:149::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.25; Fri, 1 Apr 2022 18:31:12 +0000 Received: from CO1PR10MB4531.namprd10.prod.outlook.com ([fe80::3188:fe86:1d6f:53ac]) by CO1PR10MB4531.namprd10.prod.outlook.com ([fe80::3188:fe86:1d6f:53ac%9]) with mapi id 15.20.5123.018; Fri, 1 Apr 2022 18:31:12 +0000 From: Eric DeVolder To: linux-kernel@vger.kernel.org, x86@kernel.org, kexec@lists.infradead.org, ebiederm@xmission.com, dyoung@redhat.com, bhe@redhat.com, vgoyal@redhat.com Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, nramas@linux.microsoft.com, thomas.lendacky@amd.com, robh@kernel.org, efault@gmx.de, rppt@kernel.org, david@redhat.com, konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, eric.devolder@oracle.com Subject: [PATCH v6 6/8] kexec: exclude hot remove cpu from elfcorehdr notes Date: Fri, 1 Apr 2022 14:30:38 -0400 Message-Id: <20220401183040.1624-7-eric.devolder@oracle.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220401183040.1624-1-eric.devolder@oracle.com> References: <20220401183040.1624-1-eric.devolder@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SN4PR0701CA0042.namprd07.prod.outlook.com (2603:10b6:803:2d::16) To CO1PR10MB4531.namprd10.prod.outlook.com (2603:10b6:303:6c::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ccf74a89-192d-4deb-3891-08da140dcc9e X-MS-TrafficTypeDiagnostic: BN0PR10MB5502:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: BkGKqkKoozswSmFJZOvR3RlezpXMqMMQcrNcdwPivHn7oAsVdPmTHiQcXyZ1Bp4hF76se4ljpzLNRk4JPKJlIaBlfrjKveJIjfICb5nqjjI/M0Muyy7m/HxWUzAgkZgqqLLzU5BPBO2SDiEVb6hfSrPTXfyIKtiA16o04xsxRM5Ja+QUDWz0B2bib8pLUjvEC9RNcG9r7WQl7kJwzdzE7Yk5MQMuFaqdORnRd//dhhHZHtyB00JXUK4xaehdNs2u4pCHKE+wHoB9ZSYAYJaQ1lDvzC+oypNx1ITSUJie3qAFeZOvcRxhZpqgnw6mvspJa4WQDXN13ClAOae0m6MXVl1S9h2Xof4iaxHcDP8UMPBY+O1eCnI6XhAAF21gDw+kd7tzk7ul+vwVs4JensRFaWVZr7m+l1xLAeE/yUu1eqh0qCkCFHM5Z8v9Y1M9LDanCcqoDYLQLITR8TCwauSFjqizKa4zPPmiQ7G8Wc/afpNViEpEpOiaAnxigYNOkJi8PX0Zo9q/plFmW4pWREeCbXZ8M0otkzpIH3BEGosdXH0wxWnh/cEFCTwGSG/iBpr4niDpHRahDb8oMHF43qrpeSiq6V/S1iLygkydFXoCQ2zi0nX1lksjYu5c7goLcROuKAcMOHT/HarSlhemn95mMS8ag8aqGNf8hGpSdvTThdv+UGBvS/EKZtEA/utXbm4uQ/EVvE9A05UW0AUL9/YiuA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR10MB4531.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(6666004)(2906002)(6506007)(6512007)(7416002)(107886003)(26005)(2616005)(36756003)(508600001)(52116002)(1076003)(6486002)(186003)(5660300002)(4326008)(66946007)(86362001)(66476007)(66556008)(8676002)(83380400001)(38350700002)(8936002)(38100700002)(316002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?q4AdhhupmT37l3Rj1eiyPMDARf1VYyhnQwaJiya7ZXXNAOGCnmtdhiZxmDc2?= =?us-ascii?Q?YUSz0ZD0Y8o0creIIJ0ZepFGkksThSciMwfMduYk52DnFwYBD9FM8OMsgKZJ?= =?us-ascii?Q?2neSJ2H7KtbxLg5uTVId8lEfeAfyDxoRxhTkGWjZ5ZNg15XrbKSF1038AxTY?= =?us-ascii?Q?D+h02nx55dSgVRRhEEpJNdGqf2cSOZryP3f+PvdC+yuuJ1oy0bFM11N2Dhvr?= =?us-ascii?Q?vHbluxrIrFET+evOf60niI1omeZc60jK04kCyunUQrqqr35VTyUH11GSBpT5?= =?us-ascii?Q?yDIPIo1Qt8kOkGTpVtC4NypzSA1IXvJ0j1PjbULULIv8ySPkWbPFdySsTFJM?= =?us-ascii?Q?q5jhhlQayAv3B9Gpu20bE7mFDmBqOYypFUpLN0Sok5Bq1GA2v3c2FlqFi0Mk?= =?us-ascii?Q?kpcB7PVNKlKuianaU3/oTDqeewaDBi0yYXRGnHJBKjaZZJ+zXOX8LVoBbxMS?= =?us-ascii?Q?zGv1ct1zfMM0bAChTB6sNcoOkSGYGyDlcEgIsX6aPnQpOH9uxJMR9YONi7h8?= =?us-ascii?Q?XmG/DhnnEXhQ9qIb0IX4YA/+ZtXMfyBX9BcIxnieWFpvvE/uvtdp8ioreHkd?= =?us-ascii?Q?os2a8jc6RXGYUmcczhId60vgrE0aYlXV7XSfeTyN2KEPsXbZQz/VMoEz3dyK?= =?us-ascii?Q?6rQ4LSudaLq3vEgmTSRACrxnhCjlVKbIdxrK/blPZhMeI6+n5t3kzh6kJEXr?= =?us-ascii?Q?N5BMlSVc/iznORsqWNtzyU+b3tkL1lkRB0bac90IHZx57Oz9S4SLmlynr/ND?= =?us-ascii?Q?43sq6+RE4CEPcdnk6Xd+XsbCtHT5izP22u/QPv0oozkYETspKvACH6zZGPhl?= =?us-ascii?Q?7W0JHD6AOlRgVSMMqflNkxW3aBfIQlenPD7f7e0jPlY2XXagVgW1x/ZXsjyR?= =?us-ascii?Q?5MbwMjwcTWK8U7zjvKIPuMGJxeJCBqIvOXXpQeSpmT4iUxGfePssB1z0jlJE?= =?us-ascii?Q?MkRpfjkwnSmU3plvnOODo9byaO6HuwA+5G8fvLZjPh2qyJZnITtewoFNBs6z?= =?us-ascii?Q?ySbX9Uu5iU2YQ4b9rWaVgj1imfMbKMa41E8jgSyVi2atzP2E0iybkNThTPyL?= =?us-ascii?Q?UfeJjZllITbZCiGE75fSvvCWsMyLBunjqjuSdO4hZUnm7ntD6KHKCjWfvw53?= =?us-ascii?Q?fbHK+SGxLMtivHz1Afj3p//eYFsSBWv9+NjLGdYmzYbRqz1TmpJBywuwDjYm?= =?us-ascii?Q?+j7Cphi3uWsd2m0OcHaF5dzG6Hf1ly4ynce8CyzmLdHAIo7SmRaEpZdCwBOW?= =?us-ascii?Q?wTh18JKW6VF8BMZzFRg3+yflZz5eCjZ92j3Wum5cKxq+RkMHD8hWpRFYwrQ5?= =?us-ascii?Q?9sILnOEZvFuxfBlr+TINDqD1oPH3M20Z/R+xaR8FcsW7me1I1mWz/NEU1kIW?= =?us-ascii?Q?mULLOjBulaFH7uLlPz3W8r687hQVa5oYynnVEh6ISNZALOLDWdGRIf8jo6Ue?= =?us-ascii?Q?n1z0bA4gOTtaW1rOIqnqCqtFWJvkx2CPnapym78HRMw2xIdHCXJpZ06pLG0+?= =?us-ascii?Q?jh0a+Gtg1pDdfgIFodJGJ+LPbSJSrX4W8G3YCBb6zAqYoJKlsOICjfrkG4pS?= =?us-ascii?Q?jYsEe+6O5XgpVigVIAm86jMjZ6xVdO0WIni56FabbRBOp1dPmQcsTr9t6DoL?= =?us-ascii?Q?K11dtdDqWvK0ig1y0zrJqDscI+un4Tn7+8kqtSOrGsLPiQ82MgbBh/3jYw+M?= =?us-ascii?Q?YaQ1Af3wZtrO2O5q+7K25H3D65lV3rbnI0dQHeyj9CRMl5n/6tkq2yQxIEkV?= =?us-ascii?Q?haVrBcMQJXhaKKPpGBQeucHeNfP3R0s=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ccf74a89-192d-4deb-3891-08da140dcc9e X-MS-Exchange-CrossTenant-AuthSource: CO1PR10MB4531.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Apr 2022 18:31:12.7804 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: uLBFzcXda4pz+VMk34am3KygcX2qtR6qyiu+dn/kXT7sXkHewMO+ZgOd8WCV7wkgblzgCMQ4JqCmX9z3eWn14pOGFzRAXGi6fBYAWGJx9aw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0PR10MB5502 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.425,18.0.850 definitions=2022-04-01_05:2022-03-30,2022-04-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 bulkscore=0 suspectscore=0 adultscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2204010087 X-Proofpoint-ORIG-GUID: nPEpEN4ILchOlTnJK0kg1xS89H30O9Dh X-Proofpoint-GUID: nPEpEN4ILchOlTnJK0kg1xS89H30O9Dh Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Due to use of CPUHP_AP_ONLINE_DYN, upon CPU unplug, the CPU is still in the for_each_present_cpu() list when within the crash_hotplug_handler(). Thus the CPU must be explicitly excluded when building the new list of CPUs. This change identifies in crash_hotplug_handler() the CPU to be excluded, and the check for excluding the CPU in crash_prepare_elf64_headers(). Signed-off-by: Eric DeVolder Acked-by: Baoquan He --- kernel/crash_core.c | 10 ++++++++++ kernel/kexec_file.c | 5 +++++ 2 files changed, 15 insertions(+) diff --git a/kernel/crash_core.c b/kernel/crash_core.c index 76959d440f71..d3fd51f2195c 100644 --- a/kernel/crash_core.c +++ b/kernel/crash_core.c @@ -522,6 +522,16 @@ static void crash_hotplug_handler(unsigned int hp_acti= on, /* Flag to differentiate between normal load and hotplug */ kexec_crash_image->hotplug_event =3D true; =20 + /* + * Due to use of CPUHP_AP_ONLINE_DYN, upon unplug and during + * this callback, the CPU is still in the for_each_present_cpu() + * list. Must explicitly look to exclude this CPU when building + * new list. + */ + kexec_crash_image->offlinecpu =3D + (hp_action =3D=3D KEXEC_CRASH_HP_REMOVE_CPU) ? + (unsigned int)a : ~0U; + /* Now invoke arch-specific update handler */ arch_crash_hotplug_handler(kexec_crash_image, hp_action, a, b); =20 diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c index 94a459209111..9d5c4eea0179 100644 --- a/kernel/kexec_file.c +++ b/kernel/kexec_file.c @@ -1314,6 +1314,11 @@ int crash_prepare_elf64_headers(struct kimage *image= , struct crash_mem *mem, =20 /* Prepare one phdr of type PT_NOTE for each present CPU */ for_each_present_cpu(cpu) { +#ifdef CONFIG_CRASH_HOTPLUG + /* Skip the soon-to-be offlined cpu */ + if (image->hotplug_event && (cpu =3D=3D image->offlinecpu)) + continue; +#endif phdr->p_type =3D PT_NOTE; notes_addr =3D per_cpu_ptr_to_phys(per_cpu_ptr(crash_notes, cpu)); phdr->p_offset =3D phdr->p_paddr =3D notes_addr; --=20 2.27.0 From nobody Fri Jun 19 16:52:42 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E773EC433EF for ; Fri, 1 Apr 2022 18:31:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1351159AbiDASdo (ORCPT ); Fri, 1 Apr 2022 14:33:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40632 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1349069AbiDASd2 (ORCPT ); Fri, 1 Apr 2022 14:33:28 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3BEE91DD3FF for ; Fri, 1 Apr 2022 11:31:39 -0700 (PDT) Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 231FoiBx017617; Fri, 1 Apr 2022 18:31:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2021-07-09; bh=Sq4LnpA8rJJ60MRt65qso6AWVzETDf9LTfkpJWBz5IQ=; b=pDcm7cwXa1smFfjaoppb1F8rs9nkSnOYDONZY2Bg9KWJC6QoLqSgDt/G84pySJQCmeTh 9Rs9Mb6z5dWGte2Qy15s7bHpaN3R9pEJkx1hINJYwpMfvasa0rvmfDp6icw0pD86U/7/ Cu/IJO2fuzlh/Z2PBhxqAl4CX+vXFJgk7kObMeA81FmyEBgYY1+furQTzhttVxKZHYfS uVnltOHsZ8r9IFY/33SWFYbPfTHk2QBZAAp/gVmx2TlH7dXey88BKA/oCbXrLE8wRuQF hRHOpc2gd7uSbZjkgGxZrQtfe2H53IpXdln6oUjfVFJUd7o1mnJzG0jcSPSUWWCn7IcA Bg== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com with ESMTP id 3f1ucu00ts-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 01 Apr 2022 18:31:18 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 231ICBu7036072; Fri, 1 Apr 2022 18:31:18 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2100.outbound.protection.outlook.com [104.47.58.100]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com with ESMTP id 3f1tg9gutd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 01 Apr 2022 18:31:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lWj828ADyI62llGZ9T9m9wG1Y3YmPIQO6q+XqGN29Nd5QQ8vbn/rS+8NPE/f41WWSqos2vLiFJ/obIAS2hGdV2D5c+o/rY4FOQGx23P/165YKTriXb2heircCwRsWZV6t2+E33d3mK/H/J6pk/AmxOD2kfk9upQiuSXOZ+AK4ThlQZma/utqPtgIWCzflRbTiGPr5UxSHwp8Dl11HEMz+KoKfVRqpaE+m9YrlO59OimkJLUU//VZs3q0bKFYSVzmN3fP1z5QsgVqYuhOSLDOb1Z9Py3dYAloTahqi71xIXPdA6EDMgrxbiVSpzSjwEryiQmE71dtdPsGxfgCuYE/3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Sq4LnpA8rJJ60MRt65qso6AWVzETDf9LTfkpJWBz5IQ=; b=G/LEHl09h6hzdfcNS8NfxiZwOtaZ3mGndj/lBxCwZCpE7D1rq7pzKc6RoW+NzJqWD3m4mChqXcAVThARaJQh5riw0gdkNDC40qx4CDqSZSSpnIYExYJTxdhRCONaSOnH64jBwRaFulK3RB0zgKsWFqoTYrXu/XX179NyLO4/IOArCoYIi3DKb2ZNM88IlIwyxNiu7fRPwqZKJphO3GCtxQg+mVLtCnVS0n0hanx6MB+IGxAweXNK8H749sp2zIRdaLiLVD0WL6eJvCwyh4jlCNBSf45zx5wFCUJlxYacTvkqRH6ajA5zTh0mzsGSKFa6yzpbRM7L9G8j/ChJPPYGPQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Sq4LnpA8rJJ60MRt65qso6AWVzETDf9LTfkpJWBz5IQ=; b=xcmaGaJgCqU1V+JvfRubEbBhPB3sgLRth/Rhghg8xv6eGJQ6ORX0L/z1ttXXTL5PwfucDu5UjpAbozsQsZICfG6g8wyh/EV2w7vJJnTb5Cd2JKskECgfnTY9/FZ12bVT9cS0fVFy8atK0XKFR17UgTeRs0m0zL5H2iTWqPJGqBw= Received: from CO1PR10MB4531.namprd10.prod.outlook.com (2603:10b6:303:6c::22) by BN8PR10MB3268.namprd10.prod.outlook.com (2603:10b6:408:d2::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.29; Fri, 1 Apr 2022 18:31:15 +0000 Received: from CO1PR10MB4531.namprd10.prod.outlook.com ([fe80::3188:fe86:1d6f:53ac]) by CO1PR10MB4531.namprd10.prod.outlook.com ([fe80::3188:fe86:1d6f:53ac%9]) with mapi id 15.20.5123.018; Fri, 1 Apr 2022 18:31:15 +0000 From: Eric DeVolder To: linux-kernel@vger.kernel.org, x86@kernel.org, kexec@lists.infradead.org, ebiederm@xmission.com, dyoung@redhat.com, bhe@redhat.com, vgoyal@redhat.com Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, nramas@linux.microsoft.com, thomas.lendacky@amd.com, robh@kernel.org, efault@gmx.de, rppt@kernel.org, david@redhat.com, konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, eric.devolder@oracle.com Subject: [PATCH v6 7/8] x86/crash: Add x86 crash hotplug support for kexec_file_load Date: Fri, 1 Apr 2022 14:30:39 -0400 Message-Id: <20220401183040.1624-8-eric.devolder@oracle.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220401183040.1624-1-eric.devolder@oracle.com> References: <20220401183040.1624-1-eric.devolder@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SN4PR0701CA0042.namprd07.prod.outlook.com (2603:10b6:803:2d::16) To CO1PR10MB4531.namprd10.prod.outlook.com (2603:10b6:303:6c::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4beec254-5b0f-401b-5504-08da140dce44 X-MS-TrafficTypeDiagnostic: BN8PR10MB3268:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9xwzU6Im8IMiiys0rhQiut0y/0ffh0JXFcTKxCeMcaY2fVMxy8dfMdkzrV3ThW/+iWOh9WR4iaPv5PENr3nRha53oa45pT8FCd4VzBtkEQFX35FiTASDVlXxuRr5y8RRZRMmM1AGqAIXOBTghLhk/Uywp6wRWd2JYdz+wXeuAzOuBF12g++kL60xO+RXu6G9pFA0jwnNKtw/eWLrnCHdOEchqaAmAJzoGWNofkiN1Hmy8TrzmRJkvIRRVa6TGF5pLZ9K5adfyqJRrW7LmQl612aGbfVGewcw9hluKsZlqboa4ADty+NATYzKNuTQhI6814Oi/E7aSamRBnd52QMvRu0LUfnivBvRL5ypGWjJjFqkAJlzXHt5kv8RuioxSXvI2SFXyQyqDsNutOz1TxVaa8oX4l/IDCv3QhYQy50xqV8Jr7hDIi04pa1kXCIYm8iRAs84GXcGoP4QTjakNBiG8Am8kh3eoLZ+vL6RkqBxzxxpy6uTEQRX1s4/4EX8jEwVmjaLKNFYFTQqqbBqt/HOBYABuWpCBVbPeuvmfLXcvr1UwQzirOESiT/Y1VA1YvsPkGJGL50HMrXBCv5bIrR1n4yo8yubr1kLsDoH7bqRER74TQ0JeMznIvCP8mYphkwYRQNtlxtwATSfQDgTsoyi9QKE/CbToyeDyODmnhSiy6XCCOho+Uc5KyBzcdfgSzFoxtdLrgAkCw9uOOyuhn9HLQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR10MB4531.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(1076003)(86362001)(186003)(66556008)(83380400001)(26005)(107886003)(316002)(8676002)(66946007)(4326008)(66476007)(36756003)(6512007)(6486002)(508600001)(7416002)(38350700002)(38100700002)(6506007)(52116002)(2616005)(2906002)(5660300002)(6666004)(8936002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?cz4QBRxPQyfBHbWqRuJE828Ro8InJ7RMw+FLF8d67TZrK9xnWXcThM/FhLP2?= =?us-ascii?Q?DmLliUzFmn+XCBdyeWMfhCAP95jelBDBJNSM41bA/Ppe3zTzPBpUM/fOqBls?= =?us-ascii?Q?df9arDwsBY89nxohYq6ndqDsl/hdG5jBua+sYHfkIQjU/F9KYDeYJVYRBl/P?= =?us-ascii?Q?xETkJ31fSb1fLRwh5KyJjgRn1vSblnoVrh222N8YknV+MLfg0VRih3VPavrE?= =?us-ascii?Q?ywiiC6YqiEOQSi5kfedDoPayNbtEr4JuBKidmxOnyKqAY7j2fYqOyFmkJ23d?= =?us-ascii?Q?ZIJw4qWPaPiCFtXe0TvhN/E03ixbdIxlKyuBZNME2B9TN4N4bZBwOM6ZLCOg?= =?us-ascii?Q?Pmjtbk1ebrNaJ86HnEWipDmEYXaRtrqSWnXf/1LhsWiW4EG9xoLmFM+AE4Yj?= =?us-ascii?Q?QPL7OOa3P0GZCMUSK32SyFc8wLKpwapxRXzZwYgzw8O7uGDOeU+JJzuzUdCn?= =?us-ascii?Q?CdIISwBk6b44iIDz96I/jIEoKEoBw+BBks8qecFK1VmPr1MKJDCXlD9iz6Az?= =?us-ascii?Q?4dn3eFHUUMeHqAKq4y311MFBU2BSGycWGPFSR4gi6wiXE+OxyEA3IAhrTwnp?= =?us-ascii?Q?VmSonN+0atayvMy9gNmv9SOilgmlhgkfpA5hEyyLauBXYRGxyqL95WLlbnMf?= =?us-ascii?Q?phagm0pXwlHnsfkKL6ks75Cm+Wu2IR/3ErkWBPFMySgikCIoD7x1oRTacBqO?= =?us-ascii?Q?grr9go2LvZqcB1N+rZoWR9HqOm3cEcojUIFUxlD0juG3xx3iAojJZn4d2EY6?= =?us-ascii?Q?hkvtzzzOuWh2Xn1JKdF44kRYZRz+KFR/PyUOdF8Syd1TjEyRmHA802t5vKwd?= =?us-ascii?Q?37de9mmkxPLEl7tZzz04MKkeb+nBRtdvKKhcZa+jiucR/L1RZOnHXMDKq8eL?= =?us-ascii?Q?zdNJJRf1blmxshGgSHLu90T/DNbU+OL0Hd2p7veK9R2nYtZ6hfKf/z73zOOr?= =?us-ascii?Q?T5wZX1xDxGktDhaF/+teG3unm6FGOUTU14+ub77QGO/rfgy7mERhvTMIMutx?= =?us-ascii?Q?5tCcJ3enuo+pRBgzdV0xIfLJMwl1+etX/vcjKREsM/ZeNDjUaqb8K97RGuX3?= =?us-ascii?Q?VOrmXUKB9AmS382HnTVNqaXuaHu/ETvNsypxj/kmL4RBtnbcTEpu3m71e7vL?= =?us-ascii?Q?CfspCTys1+CapzVk9y9KRR/iNKsPla8lFWhsghqK4L9k9kAXfDd9VJ/omG3R?= =?us-ascii?Q?6XN7yqZvb3wNU7ROYQonqnHVKqm7ogk2h4xcpvUKKxMc6kkc6Mc5PeJ0PnI7?= =?us-ascii?Q?HAHLIVQjfFystLgEGHw6d5SjZGYPTJaCbaWbr1+ufSijSbMiPG29kZMsPr7K?= =?us-ascii?Q?S+78ZVist++ZR+cyxout7R2usE1Gd2xsNXk1M7A8v7tRO6ck7XeVVTP+gx3z?= =?us-ascii?Q?r/OSySHwApfdyIBnytePJ2sILmWSyRrqCs5L42YmIM5+A0hNvxMkMpACk7W5?= =?us-ascii?Q?vcPt/ny7RnzCH6gMCcpwVMDpQSXezgxVxbZOI5sfxuKbYIbjWGW+kwDhydqj?= =?us-ascii?Q?HdMc1WDER86uLs0JQ2bfpkQq0oYTxK1mVaS2NqoUrLIkwSP0+0fjPLnife/e?= =?us-ascii?Q?Khlfpa3zN23Cbj5LK8tDoId8869JPHPiwfa5b2PKHLHGiHWKbEvXaIOl1TMk?= =?us-ascii?Q?68Wf6GWgSBJgko/asQqO2XRU1RxiPpU+XCl1rHqTt1TsBHWi8jzCp8YwrYIr?= =?us-ascii?Q?+qKcOGiSB7Tc0i/E2JnJL3DujfCDNM6Yk2uBxOYSW4JGPY/mp/+Tf6Ckw2aX?= =?us-ascii?Q?8wrTBAWewJxQEG5kPDrpl6S+Otzhp2Y=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4beec254-5b0f-401b-5504-08da140dce44 X-MS-Exchange-CrossTenant-AuthSource: CO1PR10MB4531.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Apr 2022 18:31:15.5467 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 1/IfjeiM+Wfovmo9NIkCV5+My7XSuyhQufgI9ltSSdUl9TGBFmQ/TtcYa8s7vNNYOrXM+dIIsn32i4ckXtuvv3imsqp88Jpw6xG7wJ7Q7ko= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR10MB3268 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.425,18.0.850 definitions=2022-04-01_05:2022-03-30,2022-04-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 adultscore=0 mlxscore=0 phishscore=0 spamscore=0 suspectscore=0 bulkscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2204010087 X-Proofpoint-ORIG-GUID: m3dsh_8CjWhH2auIMpJ8NgQ14vXHUKMF X-Proofpoint-GUID: m3dsh_8CjWhH2auIMpJ8NgQ14vXHUKMF Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" For x86_64, when CPU or memory is hot un/plugged, the crash elfcorehdr, which describes the CPUs and memory in the system, must also be updated. To update the elfcorehdr for x86_64, a new elfcorehdr must be generated from the available CPUs and memory. The new elfcorehdr is prepared into a buffer, and then installed over the top of the existing elfcorehdr. In the patch 'kexec: exclude elfcorehdr from the segment digest' the need to update purgatory due to the change in elfcorehdr was eliminated. As a result, no changes to purgatory or boot_params (as the elfcorehdr=3D kernel command line parameter pointer remains unchanged and correct) are needed, just elfcorehdr. To accommodate a growing number of resources via hotplug, the elfcorehdr segment must be sufficiently large enough to accommodate changes, see the CRASH_HOTPLUG_ELFCOREHDR_SZ configure item. With this change, crash hotplug for kexec_file_load syscall is supported. When loading the crash kernel via kexec_file_load, the elfcorehdr is identified at load time in crash_load_segments(). Signed-off-by: Eric DeVolder --- arch/x86/kernel/crash.c | 118 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) diff --git a/arch/x86/kernel/crash.c b/arch/x86/kernel/crash.c index 9db41cce8d97..101c030ac038 100644 --- a/arch/x86/kernel/crash.c +++ b/arch/x86/kernel/crash.c @@ -25,6 +25,7 @@ #include #include #include +#include =20 #include #include @@ -398,7 +399,17 @@ int crash_load_segments(struct kimage *image) image->elf_headers =3D kbuf.buffer; image->elf_headers_sz =3D kbuf.bufsz; =20 +#ifdef CONFIG_CRASH_HOTPLUG + /* Ensure elfcorehdr segment large enough for hotplug changes */ + kbuf.memsz =3D CONFIG_CRASH_HOTPLUG_ELFCOREHDR_SZ; + /* For marking as usable to crash kernel */ + image->elf_headers_sz =3D kbuf.memsz; + /* Record the index of the elfcorehdr segment */ + image->elfcorehdr_index =3D image->nr_segments; + image->elfcorehdr_index_valid =3D true; +#else kbuf.memsz =3D kbuf.bufsz; +#endif kbuf.buf_align =3D ELF_CORE_HEADER_ALIGN; kbuf.mem =3D KEXEC_BUF_MEM_UNKNOWN; ret =3D kexec_add_buffer(&kbuf); @@ -413,3 +424,110 @@ int crash_load_segments(struct kimage *image) return ret; } #endif /* CONFIG_KEXEC_FILE */ + +#ifdef CONFIG_CRASH_HOTPLUG +static void *map_crash_pages(unsigned long paddr, unsigned long size) +{ + /* + * NOTE: The addresses and sizes passed to this routine have + * already been fully aligned on page boundaries. There is no + * need for massaging the address or size. + */ + void *ptr =3D NULL; + + /* NOTE: requires arch_kexec_[un]protect_crashkres() for write access */ + if (size > 0) { + struct page *page =3D pfn_to_page(paddr >> PAGE_SHIFT); + + ptr =3D kmap(page); + } + + return ptr; +} + +static void unmap_crash_pages(void **ptr) +{ + if (ptr) { + if (*ptr) + kunmap(*ptr); + *ptr =3D NULL; + } +} + +/** + * arch_crash_hotplug_handler() - Handle hotplug elfcorehdr changes + * @image: the active struct kimage + * @hp_action: the hot un/plug action being handled + * @a: first parameter dependent upon hp_action + * @b: first parameter dependent upon hp_action + * + * To accurately reflect hot un/plug changes, the elfcorehdr (which + * is passed to the crash kernel via the elfcorehdr=3D parameter) + * must be updated with the new list of CPUs and memories. The new + * elfcorehdr is prepared in a kernel buffer, and then it is + * written on top of the existing/old elfcorehdr. + * + * For hotplug changes to elfcorehdr to work, two conditions are + * needed: + * First, the segment containing the elfcorehdr must be large enough + * to permit a growing number of resources. See + * CONFIG_CRASH_HOTPLUG_ELFCOREHDR_SZ. + * Second, purgatory must explicitly exclude the elfcorehdr from the + * list of segments it checks (since the elfcorehdr changes and thus + * would require an update to purgatory itself to update the digest). + * + */ +void arch_crash_hotplug_handler(struct kimage *image, + unsigned int hp_action, unsigned long a, unsigned long b) +{ + struct kexec_segment *ksegment; + unsigned char *ptr =3D NULL; + unsigned long elfsz =3D 0; + void *elfbuf =3D NULL; + unsigned long mem, memsz; + + if (!image->elfcorehdr_index_valid) { + pr_err("crash hp: unable to locate elfcorehdr segment"); + goto out; + } + + ksegment =3D &image->segment[image->elfcorehdr_index]; + mem =3D ksegment->mem; + memsz =3D ksegment->memsz; + + /* + * Create the new elfcorehdr reflecting the changes to CPU and/or + * memory resources. + */ + if (prepare_elf_headers(image, &elfbuf, &elfsz)) { + pr_err("crash hp: unable to prepare elfcore headers"); + goto out; + } + if (elfsz > memsz) { + pr_err("crash hp: update elfcorehdr elfsz %lu > memsz %lu", + elfsz, memsz); + goto out; + } + + /* + * At this point, we are all but assured of success. + * Copy new elfcorehdr into destination. + */ + ptr =3D map_crash_pages(mem, memsz); + if (ptr) { + /* + * Temporarily invalidate the crash image while the + * elfcorehdr is updated. + */ + xchg(&kexec_crash_image, NULL); + memcpy_flushcache((void *)ptr, elfbuf, elfsz); + xchg(&kexec_crash_image, image); + } + unmap_crash_pages((void **)&ptr); + pr_debug("crash hp: re-loaded elfcorehdr at 0x%lx\n", mem); + +out: + if (elfbuf) + vfree(elfbuf); +} +#endif /* CONFIG_CRASH_HOTPLUG */ --=20 2.27.0 From nobody Fri Jun 19 16:52:42 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A201BC433FE for ; Fri, 1 Apr 2022 18:32:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1348447AbiDASds (ORCPT ); Fri, 1 Apr 2022 14:33:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40648 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233708AbiDASda (ORCPT ); Fri, 1 Apr 2022 14:33:30 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5B3421DEC1D for ; Fri, 1 Apr 2022 11:31:40 -0700 (PDT) Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 231Frbcl014677; Fri, 1 Apr 2022 18:31:21 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2021-07-09; bh=tdexdjGL5dr3oIys2IHviYcGCNvA3rPE+2+LBqTuZSI=; b=LdA0Ckcy5XoZUzZ8EXW5pj8jbJ7ByZ/jzPT3zYi3d90q832LjpNnKPmXc5ASSAmuWTJi yfZWWFfay0Jm7vzjcTrPZvVVoq22Cnc4ELLHWjIC2qylJWeDl+K+sPYP57wlRbeN+AMe 89me6Zcyd4U3GB+xp4aQh52hs9y8V7KsJtY35fwAzCfMtiUvV9TD8bf91A0gEbKCAgUC tnCgk8d9lORPbJEWh3m9B5wh1L4JYE3M50ryltfGJSRte/TOln39+iMW8zTXSqJEuPIS RHzhg76qfJx+6hAV7TP4THtMZlbcaffKNLVrgftYJNQuoeE5dJ3hNxe8+DnQcFmAFzoe aQ== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com with ESMTP id 3f1s8cyck4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 01 Apr 2022 18:31:21 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 231IUWF8031681; Fri, 1 Apr 2022 18:31:20 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2103.outbound.protection.outlook.com [104.47.58.103]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com with ESMTP id 3f1s999yqj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 01 Apr 2022 18:31:20 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=X7O7j2XPxYB9xG85WXytgtZmGNay0sGQ6cde/5+O8+kvfz+BeZUcu+ADQOH8+bgJkkhFaNhg4Nb7dwuKBvIO3fGU0DACkzRvM45nltp5FgWrv097gibjUq4690zzFW+jT6u/qRr8CrEUZiIGi2tbjwj7tXXFt1Q4XNjgcrA/ejCucY0aKKp9Gmd2OrRN6hsAw605oN5no8EApiY4AsdqsL57U36Lo3Oh1zn9q2hYnA45QPpAlHDq0Mdu9AhEWxg22Vf5lif6/4KEvttHqLB3o/RY1cqdiywu2CekvfFS5Iz85auV5iPzVwtpuN8PHlhXJ+d7E6myh7Dy9C/0KZpDpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=tdexdjGL5dr3oIys2IHviYcGCNvA3rPE+2+LBqTuZSI=; b=Y5Fr5ILTxygnO4k7jZgWvc+vBFetyx97LauNR0pF+Li0i+KFgedhH6mANZ7+oS3xmYc/SL/DH9+MX32r7Hu0hcl+IXEc3+JeQhXNRl8F5Fd0iUgJrXiHRld7jY6/zShPxVtt2bB5blGHkKEQi0Zw5l6ZH1E2zW8QNdIdcA/swncVOHBXXPiz5RO9c2oPj+j6PEUneTF9tcpImpmr/9anlTDEaaruajVl3/mwtO+2KT/LFB8iCKthgNO5JeO6kxCYMU1WY9waZdV8Ai7lmpLhEGf1kMVWgvns93mbV6PG0+VkFjaCWkVZIpbhaGDCQVEREWqlbR4XkHwI1ydBJQQ77w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tdexdjGL5dr3oIys2IHviYcGCNvA3rPE+2+LBqTuZSI=; b=Or0jzylbqFoTc68S1BGu+5P1reyynRNe6atWvnhAiXAMj/JUoFN85Z18JMku/QXJN7mfB5vxgMBEbnW/umIs2FeW2ilZvCnNS7LJcOhFVdk6WjSo90ZlBmMQQmkWEVE9Ibbm94kAdlc3Re6BXgIOLYMh496jMzP+lDjN9PDGp0Q= Received: from CO1PR10MB4531.namprd10.prod.outlook.com (2603:10b6:303:6c::22) by BN8PR10MB3268.namprd10.prod.outlook.com (2603:10b6:408:d2::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.29; Fri, 1 Apr 2022 18:31:18 +0000 Received: from CO1PR10MB4531.namprd10.prod.outlook.com ([fe80::3188:fe86:1d6f:53ac]) by CO1PR10MB4531.namprd10.prod.outlook.com ([fe80::3188:fe86:1d6f:53ac%9]) with mapi id 15.20.5123.018; Fri, 1 Apr 2022 18:31:18 +0000 From: Eric DeVolder To: linux-kernel@vger.kernel.org, x86@kernel.org, kexec@lists.infradead.org, ebiederm@xmission.com, dyoung@redhat.com, bhe@redhat.com, vgoyal@redhat.com Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, nramas@linux.microsoft.com, thomas.lendacky@amd.com, robh@kernel.org, efault@gmx.de, rppt@kernel.org, david@redhat.com, konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, eric.devolder@oracle.com Subject: [PATCH v6 8/8] x86/crash: Add x86 crash hotplug support for kexec_load Date: Fri, 1 Apr 2022 14:30:40 -0400 Message-Id: <20220401183040.1624-9-eric.devolder@oracle.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220401183040.1624-1-eric.devolder@oracle.com> References: <20220401183040.1624-1-eric.devolder@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SN4PR0701CA0042.namprd07.prod.outlook.com (2603:10b6:803:2d::16) To CO1PR10MB4531.namprd10.prod.outlook.com (2603:10b6:303:6c::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fef5951b-76ec-493a-10cd-08da140dcfe8 X-MS-TrafficTypeDiagnostic: BN8PR10MB3268:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pSq+jEiohBYt8RFvTlty9i20AHz8g/0R0DPwANpT/W/yqtV8O3STMUqfKUZy7VTzo/BildYW8Qcso/y5153+BqHBlrWuj+ZL8q474j/kde6A0QBYnnxYdCrR9zhKZg0KF9nGMgnfbrNZxmVru3WRXALUzQRj/TTEp/bzuOCwF1aTp1+H+PrAFD8o4UHNP5zqawdSkghaKS7fFHdWQdsG/2BAVpjhATXWFcc/dYoK4rh+n5ydMjOd+sdJ89//wkknrJGKKlEC837ZoMl04uQIDisC0XbUQ5ld5pLxrLxo6BPkxXpFrkeiNudlrfmBP8iDkUDLRVkGJc4y5DIzJzKfyR1n4ZyxFlHFUsS4p6K2ie0LpgU9DqMy0tIltfRwvv6T7EyvLcCg+6dk2cfS3jT6Co0y37VBVmgUBAGWzvf2CuEoyoEG3fLGG4boCMtDWzUTwj9NkXL6PCdaLbg2wcZz8fItLIuI7VSh7CDJMAaQHQaPCARTdGO4zucObbE7YIGNZA4oQO2LELO1tBwEDANaE/73fCVXv3IOP+EqN1dI/0JJysHgaNOpiGnk9o1YPyD937RXi2iOmN2cdxGWXHykpUhYMZ+2SGRJhe0bzP0ij1E1xgzIsNA5Q5ZcnN+12L2X4j9HQj/jRWUF+bOSwBIzh2koet/2w9i0EN2uE4bYf/CE35HXPlh711Q8coF9ixOCUoz/2kpnEFVsYJasP9u4wQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR10MB4531.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(1076003)(86362001)(186003)(66556008)(26005)(107886003)(316002)(8676002)(66946007)(4326008)(66476007)(36756003)(6512007)(6486002)(508600001)(7416002)(38350700002)(38100700002)(6506007)(52116002)(2616005)(2906002)(5660300002)(6666004)(8936002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?JkYUBTr0D5sQ6uCUU1CmSBJ0Nwpd2HGfCm6wZ57QgVypE55/6+fXFHiCifzu?= =?us-ascii?Q?gEBBwHELBfkhbI2nKaFSapJf/k6SQiNKszuzy6zTOoj1l0Ez223oIhNUtwvc?= =?us-ascii?Q?0tSlNS4bLpnVweNitdmboB7UC9LuzbcmVvzZZDlcwLd7bhvsNejpizuP1U4e?= =?us-ascii?Q?DvelMNT6NzAaggzTKioovZftMuiacDCEre2liGEyy5rkpVW0TohoD76rC9ws?= =?us-ascii?Q?KJ9vJ5ZfmU4YgdV0BRgrIjshK0NFLQgJZTI4wW2CEa7grTVX+mn4RKZGN4Xm?= =?us-ascii?Q?l5inR4MbygTlYhB3QpWnc1OMPqldpRkVlMoOsYjnATRsM6QptAtFqI8kKE3e?= =?us-ascii?Q?ojj4Ph5QaTTXAdMQHtTTPFK8MfxwMuQpWgkDUUy4zyic70Q8MrdK+MG/bv/O?= =?us-ascii?Q?NSwvmjOYEmLA3mPYYKdFewbz4vBqM6nlQ6FB7+4N8gtYG5HTwFBxAjXc6OxV?= =?us-ascii?Q?kh18eP0PSCETbzbBmX9UMtpr9sSmRpc62FtU4/EXKdJzWMJW2IAwzWvqPlDz?= =?us-ascii?Q?6g5L92jluN6CXOIugj8FVBreBUxMq7Q+X+nlE/Mb6KT+WOVeO0pKIbBf889y?= =?us-ascii?Q?5I7u+ALrBObqY9Jd9JGid9anHx+oSeoIvHGD6iskyPfU2SiSJNR/LTXaV9je?= =?us-ascii?Q?ddmXRIvTmziKXcHb+D+sOe3salxq3Aal4DxRgTNbGa/P5lyo+sS96DeT/uVg?= =?us-ascii?Q?ZfCbrKeyA9pARZNFWxqPIQRCeNY6ssIPbGufdpAU6Z7GasYVDojdrofKrhxF?= =?us-ascii?Q?xzaj90YJhpnGIglNgXRqFNMdQPUvwsPb31+wHvQrfhXk3SbGxH85PvQJdwIl?= =?us-ascii?Q?Bh/B0Q1SAJ6iyuTY8KBNXks0KDyHaC/Xf4fH/JVOTjoPosj3kBy7I9Rc7f7P?= =?us-ascii?Q?+GYi/JRkm9ZH4we3h7FzJKpV/f4xl8DbxfiIUSVubPIs/6k/bFDntmsiWki/?= =?us-ascii?Q?xw0YawuzzM64pNE1tCJCkQJh0q93ESfU88oAc8/YzVhktavsC2Icehp1Xsgd?= =?us-ascii?Q?cK7HZLwIwUJmRf2czigRoH9+b8vujbVnSMCqG5FXzUPTCFAZd9XGg0gpBFT4?= =?us-ascii?Q?fM32MxdPaXDeoln1hrKZygHqiDRb93QGYgv6dV/eD0On12ZYFGCJ/Jbi0oQQ?= =?us-ascii?Q?lEyZ0SZSGQIgmWJIm5cAOJW+Hy2knpkvPQkRGkCgXRwRvx4SXUEB/Yw7GeoB?= =?us-ascii?Q?0c4fv2h+B/Vm3XRcq1BFttaLO80YBK79Bz7JnVxxAlsoIGdG8pCSoNdBjP/j?= =?us-ascii?Q?VsGOqH4+qsdag4cadxdNcQbNHXrUceARQXNohB4jzIOYWZnSX/O66vMaloEX?= =?us-ascii?Q?RYb8MEwkD+jF4iLxMr0VUzCPOeKNpGB4fVEXY3VhcnNZIsQe0cdUwgS10tJi?= =?us-ascii?Q?f3PDjJzIxxPBst5sNv8DA/sHbR8GzWpLiRPWErZsU+JTbyMzcwQJVqBFAURW?= =?us-ascii?Q?HIcXisR3Vm0ebQe1GJUj0IrDk2hLXwWiviYYAZwptyzjRJ688ar0xr4+HTOT?= =?us-ascii?Q?52blVJKUY31tlAASuLHCE42/NCJxtS7J4jU6a5ZE2Pse/egHMlDO5QFGQaoT?= =?us-ascii?Q?aHUvVkOEHcH+OfPPoR2Vu0Ecq9I48ANPi4kxFtUGV8PVBnxk74TeccyOymiF?= =?us-ascii?Q?pzZTIB5FRj2aa85+JsINEBbh4VjKB90uAHJcspgA06TTJgLT7xTauco/ItjT?= =?us-ascii?Q?wGjgLYzMJFV4iTyPkMLOwRDxL1QgGYMzXrzVeeTLyUOJELThvKsQUmSLFmZT?= =?us-ascii?Q?InkjPh5OFOv1zwmhMz3nEHlewk2PeKA=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: fef5951b-76ec-493a-10cd-08da140dcfe8 X-MS-Exchange-CrossTenant-AuthSource: CO1PR10MB4531.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Apr 2022 18:31:18.2975 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: X3qkKXadmLxW2sUsyVKIMfFaULqjeZLNUPAuBVVS+EYmIj4nlaAdLCAXlcGfIObWUl3HUPrs3+akVNswJ9uXH9ojJZ53Z/yD4es/ARRfXxQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR10MB3268 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.425,18.0.850 definitions=2022-04-01_05:2022-03-30,2022-04-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 phishscore=0 mlxlogscore=999 spamscore=0 mlxscore=0 bulkscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2204010088 X-Proofpoint-GUID: sKS16nJCOdT7n1InpQgIAcbAJiw3m6GT X-Proofpoint-ORIG-GUID: sKS16nJCOdT7n1InpQgIAcbAJiw3m6GT Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" For kexec_file_load support, the loading of the crash kernel occurs entirely within the kernel, and as such the elfcorehdr is readily identified (so that it can be modified upon hotplug events). This change enables support for kexec_load by identifying the elfcorehdr segment in the arch_crash_hotplug_handler(), if it has not already been identified. Signed-off-by: Eric DeVolder Acked-by: Baoquan He --- arch/x86/kernel/crash.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/arch/x86/kernel/crash.c b/arch/x86/kernel/crash.c index 101c030ac038..682f130b83e3 100644 --- a/arch/x86/kernel/crash.c +++ b/arch/x86/kernel/crash.c @@ -486,6 +486,30 @@ void arch_crash_hotplug_handler(struct kimage *image, void *elfbuf =3D NULL; unsigned long mem, memsz; =20 + /* + * When the struct kimage is alloced, it is wiped to zero, so + * the elfcorehdr_index_valid defaults to false. It is set on the + * kexec_file_load path, or here for kexec_load, if not already + * identified. + */ + if (!image->elfcorehdr_index_valid) { + unsigned int n; + + for (n =3D 0; n < image->nr_segments; n++) { + mem =3D image->segment[n].mem; + memsz =3D image->segment[n].memsz; + ptr =3D map_crash_pages(mem, memsz); + if (ptr) { + /* The segment containing elfcorehdr */ + if (memcmp(ptr, ELFMAG, SELFMAG) =3D=3D 0) { + image->elfcorehdr_index =3D (int)n; + image->elfcorehdr_index_valid =3D true; + } + } + unmap_crash_pages((void **)&ptr); + } + } + if (!image->elfcorehdr_index_valid) { pr_err("crash hp: unable to locate elfcorehdr segment"); goto out; --=20 2.27.0