From nobody Sun May 10 10:32:31 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 62281C433F5 for ; Thu, 5 May 2022 18:47:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233295AbiEESv2 (ORCPT ); Thu, 5 May 2022 14:51:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57118 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1382993AbiEESur (ORCPT ); Thu, 5 May 2022 14:50:47 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BA5FDDB5 for ; Thu, 5 May 2022 11:47:07 -0700 (PDT) Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 245G35dJ013484; Thu, 5 May 2022 18:46:31 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=DxNXWyUVClrtCV/SfEUzi9BjfEFl7ZCNKGeOpgVrmsw=; b=nU79mhSDCLZ/xP2SpQBF+KoTeBbLRNlbOQWd0ZEXh1jLuoxce/tSyMrbRxylEY6aiagn mf9hIBySJJndF9bd/f1LDOgqjsM4yxq9ss1ePmrCxNDj+n51hWeG05IulE4vV3kbWIUn 5FDYPp2SWMu323JikBPDbKR1U7JUK9zlw/IAJ3uIJa32Qqzeq6JonQ806QFfT50OewCR j1lUUFcNlK8bZ5rGaDKso1JQOVvhSM/Xr0Gnveplq2suBRMmLEbLR41O0zz3gtdKmSmJ sI6ZldHaYVVSbG9PfIbQOcLV2GTdEFAGq6dLpZLsfWiYHp1Iiy7NahMo+fOLPjMyhJCp sQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3frvqsm8sr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 May 2022 18:46:30 +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 245Iit6h004697; Thu, 5 May 2022 18:46:29 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2168.outbound.protection.outlook.com [104.47.58.168]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com with ESMTP id 3fruj522d7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 May 2022 18:46:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iX4LfueO6+uEaH6CSSNFnqSscdbrrWZdDsgQp7+UKWyWI9125Bt+2zoYQraodC+NfQUce/MO2YdL705paSorJoyiJ5ug6UNYCDFdWj4AuAT4IzOGChKmYdBFB1fAmd/NH/RpVNC5BlWgTjGJvBDY5+pVJlYUTwm6ePiirONs9BM66AMi/UHe4f0c33QCSiaAQS2QWYBMGmlhQk0PBLv3T7RHobvCppN9vlignV5wDaPih1cB5FAZ9U2UxoAvdfmY8OACuOaVlYkBXfv+5kOJ4RqM11sP4tmNJhoA9jaLykAG1pbf9G0FWaCHDfofz0vYjG2YORmYjgETaraaF3pbbA== 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=DxNXWyUVClrtCV/SfEUzi9BjfEFl7ZCNKGeOpgVrmsw=; b=b5Hoq/qxE4G6E3bdX3DZbl1eq0HltG5WjyJY6IwKmQmTe+DFJOsjJUTwHtf7kdf/6jA3m2r2LX+rcp5jpUSyRATersZx/A9t+aaU/z/6D6QouoNJFvdMR1gZ9Cdvuf3NsCZ3NtWxSE0Dgwc9O/2B0FhQJp7EEXbfGOcRnHtywb7JMvPnM0IYKV5M4SOEs0vJqB2+6a12cXAiLMuf0nDXb6KywRq3rIcPopkiaw2AJKbaqb+xwCWrWK1xw5VpVNxbQCSkUCS2yJsDACSTkXKblx4BoTcIYoScBAtvxaIBBmiFQ7oKse7OA/PC09CvzVkCpUmU0SDc7IMsFlkHqT63zg== 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=DxNXWyUVClrtCV/SfEUzi9BjfEFl7ZCNKGeOpgVrmsw=; b=FgJ+ZmdE+OGvufGVc9ynAnSI/cKc1xCVXAz0CarvZO57FjvvLDQsfY6s/h540/KziaNqUMc7F9WXWZgLSUvVWwrHoNSXIm1HK3QurbiScLEz/gs7hSq4ELZXaFdVtRRi+t4xekcE2BBwznQYLEepSATtNvVU4b8a0Lj4J81Y+S8= Received: from SJ0PR10MB4542.namprd10.prod.outlook.com (2603:10b6:a03:2da::19) by BN6PR10MB1875.namprd10.prod.outlook.com (2603:10b6:404:105::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.13; Thu, 5 May 2022 18:46:27 +0000 Received: from SJ0PR10MB4542.namprd10.prod.outlook.com ([fe80::2cad:be53:725f:ba00]) by SJ0PR10MB4542.namprd10.prod.outlook.com ([fe80::2cad:be53:725f:ba00%3]) with mapi id 15.20.5206.027; Thu, 5 May 2022 18:46:27 +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 v8 1/7] x86/crash: fix minor typo/bug in debug message Date: Thu, 5 May 2022 14:45:57 -0400 Message-Id: <20220505184603.1548-2-eric.devolder@oracle.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220505184603.1548-1-eric.devolder@oracle.com> References: <20220505184603.1548-1-eric.devolder@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SA9PR10CA0014.namprd10.prod.outlook.com (2603:10b6:806:a7::19) To SJ0PR10MB4542.namprd10.prod.outlook.com (2603:10b6:a03:2da::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 23923069-d060-48b1-e525-08da2ec78f9f X-MS-TrafficTypeDiagnostic: BN6PR10MB1875: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: JYbNY3wAJuyXNRj6IFmRfR9ZrreXZhKS5ClP/NUPQX4SBBZeEnpmGjqxI0VYlxmi7mfXoXfFZix6vUekWE4qPWF8J3pH9yKVhtYIv75rRPobyakWT6zaODLxThPi6WP344eQF173bRQuDNganxmEXSsD4YMmrPtYaogFOw3+yGZx2cPV3nO9NYymAVepXyU2aVdIIwF3po/8XBlCaBoc5i8fFAm1ii2NPFVAoM4XK6kjP0JPmQfzq2Y8BIqe8B/lJ9IYD1+0bKiRdbg6biTtcRw9jIlfcSE+zTcA6TLealYfpmHbo4CAffUZ4bOzsqMgkEZjprguTSyzoBVGFHHgYleLb4AY1B24Pj+cxyUf4+smfTvUpdwFuKvUvDTMFfYfSjCo5nf1DOgkoSIk8PknRRjF1p9Ukeg4cdfvg5f7WBE9Mk2mUCEHTdq2ageSfTUxP2pU1QT8GJdekBArLpXwlUyAkLEOqinrz87Z2WhYjDgPqgfFb1Y1WMFlUNYrxEAuobGTQcqhamPiMfJDYsfdGvO77kh4gbN5kMMclhGXNrrnr9Jr+Nj2vRo5X7gsAGe5OU8/0bCrS7wQevm7sSOTnrHNekDRZwXpZyMgSgVBHH0AAbc9HJKZuuD2EkmZtCfoU71oPaquV95rgQyFgefKBHpx83LkCKgJqAdsvbdHXQCKfPv7laTox3np+2saMz1VC2nVdGLwG1x9MMt8LlF9Zw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR10MB4542.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(6512007)(52116002)(83380400001)(26005)(66946007)(4326008)(66556008)(66476007)(4744005)(6506007)(8676002)(5660300002)(6666004)(86362001)(2906002)(38100700002)(316002)(7416002)(36756003)(38350700002)(8936002)(186003)(2616005)(1076003)(508600001)(6486002)(107886003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?nvRwBlvzv3+NeOztGKw1xUzgJdjxTnO2EfDaeoo2IC6c8rWgxyg2gT7ChMR3?= =?us-ascii?Q?rLjlYP84/Rvu1fNuYUT2TSW8bxeVVQ45Hd6hemvVoAwFFcb5BAlDq/oseHJa?= =?us-ascii?Q?M0dTnfndCQqYslkpn5WkWEWbcCQJnNK7Cp4irIM+59+dN66QS8ubdCzsWbis?= =?us-ascii?Q?8oFhT4Bvw8h//EvQBpa9AF8RWbdqwvH7TwQwIKTYdVVqmdgF6Ngl6Nm8DvWR?= =?us-ascii?Q?k8Fk+B5Fi1CeDs2LdDGK1UcWOw8cLV7ZQmxH+LlbLO9m3x/zQvZfvDRZjzD4?= =?us-ascii?Q?HWw6QIBmId1VkqbYKYwSWeCcl27DJZWgaxzYS5yq2FuSSV9ri27zqOE1bbZP?= =?us-ascii?Q?8qNs9sIFAFlMhCuFTwmD6/vIOfEIQffhTt/frjlzp722L7LzZky3GfA6NNBb?= =?us-ascii?Q?0NrCF3hZFM6+pLzWuFllh8+zhlaDm2aw2Kn8bZRuc0oCnywF7PZHuSQGVo0W?= =?us-ascii?Q?aeoFvoSnDrnOiB3zXredOKJ0agtwLFhZ6h89tmp/IWnydX+2OlbLzCZkfE8u?= =?us-ascii?Q?gqw4COUg3HzD1ZKRyFDd/WTuK1ykG0dN4Gs40x8dQa+jiQAha3XYxJ4MHiAj?= =?us-ascii?Q?Wo3AIdy5FEsLcMBD01qpvXbUSX/3onEUR0jfJWf6xYGIA9mdtDCvxJ4S1n8E?= =?us-ascii?Q?OeK6P+V+ljO9HrwZ8KKeIE+dBEMiJPQdBCcDhjXZIlUdt8OpPFMuX5uyhTMP?= =?us-ascii?Q?49ZrmTo85NEiI6TSEUgCuxQHA1K1mhPsH8QCcE8k8vocGk815HDon/LNuE8B?= =?us-ascii?Q?3C+jZqcguPu5laN7n0kKM6neTHSH4BeTRDujOD9QPv0WsSNw44ubVXnoxTSP?= =?us-ascii?Q?u86ZaUJ0MndypxF0wxx+BPYpUTBY94u2r07O/yDdS71438q746tECoG8g75y?= =?us-ascii?Q?FYGreInKSIj1XYjcICS83yhhzGL1zUN+7FZrbbUMDaGYDx4TLOT2kl0/19Rf?= =?us-ascii?Q?Br7rouukVnLXelWmBz3JGXgkU0qDdMULrQNRFI9dpqcrGxYfaiil/2bmd0NV?= =?us-ascii?Q?eFadkpQlgW4UUDNWHM7GZN2YpaPiujDDKnSGGOweDXoGn+Yyzlb9QiG4g540?= =?us-ascii?Q?4U7bh4uJCqmxnm+yVAhUZJAFZwkMDj616yiPBl6R51A3Cv4lPXBmALWpZY8T?= =?us-ascii?Q?hUnQrMMF+SBdHhtseaVblw80RForEnvgg11S50c5XA/+oPCvQ3nksP1YYr49?= =?us-ascii?Q?826vOoEdLRRGt5TUTW8Nv39QGvHph1XA+/mbTeR8Fab6wbGUrM4XrGhuJpTH?= =?us-ascii?Q?g/EMzGN/PwHzHN2PiAvUp8Ff93Yd2z4QDKdBmj2AWIOuz3LzDU3GO+jRq8a8?= =?us-ascii?Q?z2iBDuShmhmrTxvDqF1yyNp8X7dIYkAh/UBeJ8ncURUeEc4WicwNue13WESt?= =?us-ascii?Q?QKz1zVr+8sNb3iR3Hg9WhRIOK8c8xIAhDSbzbbDcPJLBxQNnuIcd6rOpejLk?= =?us-ascii?Q?QJHYOTGSMypzwaGByF23C8xh/GVX6W1ZQNKKEDJ7E2GMhjLlL8dt3RTH2+6u?= =?us-ascii?Q?JivFcvPQP3zGx3aJJGFuqYusgjEj6JS779VZGVb9vjXHwtA8RlvZoOTkhojX?= =?us-ascii?Q?dYvHALd6LMw09ZK64OaZOUFf7iASsfzzIzT0gSaq7E65JF+hlLP38JhMzQTA?= =?us-ascii?Q?sy89ykfbgK9//p3YpqAvFjyyX+L3z5KUv0jNmf7YCcKXYGFyPfofOErdoTcs?= =?us-ascii?Q?2O6108ei5HFq4PT0jk6qmbAs9WMdLsF/xXLfOYBPyGNEJqMrhzoErhR27DrH?= =?us-ascii?Q?nCgmZ2V8TYXjmGqiaZyz3QL3K3dqnEA=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 23923069-d060-48b1-e525-08da2ec78f9f X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB4542.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2022 18:46:27.2461 (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: MPFXXluCjEsKSgeCFaAbI9PSLI4zxjwNlZRy19zeJt6MWS6l0Sy5ibkLz9K6phi8oJujLFHoc8tGFNxwtLhbcSwNez6uZqtu7aQGqk317kA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR10MB1875 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.486,18.0.858 definitions=2022-05-05_08:2022-05-05,2022-05-05 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxscore=0 mlxlogscore=999 adultscore=0 phishscore=0 suspectscore=0 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2205050126 X-Proofpoint-GUID: 16K8EgvjTcHq2r2Dg0SuCwziFUhVrd5i X-Proofpoint-ORIG-GUID: 16K8EgvjTcHq2r2Dg0SuCwziFUhVrd5i 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 Reviewed-by: David Hildenbrand 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 Sun May 10 10:32:31 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 4AF21C433F5 for ; Thu, 5 May 2022 18:47:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1384523AbiEESvT (ORCPT ); Thu, 5 May 2022 14:51:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35556 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1384735AbiEESut (ORCPT ); Thu, 5 May 2022 14:50:49 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CAA31334 for ; Thu, 5 May 2022 11:47:08 -0700 (PDT) Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 245HnBqu026132; Thu, 5 May 2022 18:46:32 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=gZ3p8DhzxO0W8r0rFIuniDxHiilMlBf8tYXAVPlI8P9sE11QGSXeJv9MfymeTEGvtAN8 s2krzFotGtv+gYHUj0fGz0BO1lM86puowftZbP5i1h0uKKNopyo3Z4XuTIOSYRN8c5ab 063aZJ/XgJOkkXiLAUZfau+TzviOihWNCQnlM2AjGevyQy2uNfmVSOmO/mBzNOmRHCbL zHjuULif7pqKlAL38bknQ+foou66OxfDFlrpMsvX+jHaSyhIFpglEpkVnbxaraJRPn57 Dr2cUAvz9u1yIjHVt3sloNovhgopX0LSQnpgFlWR7qpDu+OHM+zz/cYvQpnkPJzeF7LF /Q== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3fruhcc092-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 May 2022 18:46:32 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 245Ijb5r016833; Thu, 5 May 2022 18:46:31 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2173.outbound.protection.outlook.com [104.47.58.173]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com with ESMTP id 3fusah5r79-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 May 2022 18:46:31 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mkUzO9XiJ//CfjPNOKINq3994DqfKnfDccRT87tfYTLvUpsWHZOhHeAubfGa7z3d2mFnw85hLEq/a+DmZbRkozA4G1TM2P4ovqH5MLos4EVX1FJt/rlqIZpLEsRdZ0ZgJLBHFueffbQOme741uB5m7N/wUi6jGyBpcrtTtEEiIwQeIybmRjKOuf9b5ATf1A5hYs+q9sj9gWw9ATCy/9dA4cNKRuRnNlaML7I6nLK6YY410tkZduZvx3b70gDDYlEdM7wdopdNRn23MzOZPJvMiJwyjz7oE3MeJ3FGnJPknNAtkg1JdF59UxIHgcEpjgZ8ZXB1AbS10BRi/ts7Y875A== 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=XPj+2jULbdhZmJ4HWsxOlUaq10wEZNYVcYmK2O5XQTV3KTaIvRgg/NUTVbCL/NZDZXkZvaAetRVPMOX/lhw4T8a8ijhCG2fquReI8nhyzhBysbg9oo2bXuOkl+SCuhgkFbJ9pnZ/WJsOtKEykKZdpwAmP2M2B3adPJcGnQMDumAShEBf7hcrR2EfvXoDEGP4ibIvZCRr7LBuq+CNKCIHnC4YBI/WnEgdUFvEh6EX2e1swQEjpNWNafp9dsd8DFSKgC7jDgsNlYWjqhBKky4P0nFQkTUfZRTXuSY6ekWFSnHPXk85dhxuRKH3AYqbyw+66BJYGrR/GEBDjPzZRXxywg== 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=B1NLKmEKh+QQ9XIXUFS6J37eCpaXC9wl0FZTDmnDJb9ojAgrzfdpDk+dk1DiMasML1snbVuwjKGAZFDMZAS2OhwNr1JMb+u5trkrhBOR4QYjM5V760UU8EBVMgPf97SbXPItH1UeEjRU8z/E36k4AiFXK2cPX8rmA2qczlij4wg= Received: from SJ0PR10MB4542.namprd10.prod.outlook.com (2603:10b6:a03:2da::19) by BN6PR10MB1875.namprd10.prod.outlook.com (2603:10b6:404:105::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.13; Thu, 5 May 2022 18:46:29 +0000 Received: from SJ0PR10MB4542.namprd10.prod.outlook.com ([fe80::2cad:be53:725f:ba00]) by SJ0PR10MB4542.namprd10.prod.outlook.com ([fe80::2cad:be53:725f:ba00%3]) with mapi id 15.20.5206.027; Thu, 5 May 2022 18:46:29 +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 v8 2/7] crash: prototype change for crash_prepare_elf64_headers Date: Thu, 5 May 2022 14:45:58 -0400 Message-Id: <20220505184603.1548-3-eric.devolder@oracle.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220505184603.1548-1-eric.devolder@oracle.com> References: <20220505184603.1548-1-eric.devolder@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SA9PR10CA0014.namprd10.prod.outlook.com (2603:10b6:806:a7::19) To SJ0PR10MB4542.namprd10.prod.outlook.com (2603:10b6:a03:2da::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f5f4dc83-191f-49ef-31e1-08da2ec79116 X-MS-TrafficTypeDiagnostic: BN6PR10MB1875: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: P1wQYbIPh5J1T3JDaonHZ4pi6kNBqBQkSb0/rDptpbE1qrNk0IQKo1Zlui40oh8y9mHT4VDKh0BNICLBTf3ipXfKUG/FFTLAdvlU+Mfhoy7zQrYDkEaQbmQatrxRII5/JCDUvv1x63Jzy7j/dKoXVPJXBbo2jgY2KNzCtXLw5AeAIn5dAsBODq3xqc0g7PoXPhqK0L5nvLziNBTCBuztFk+ZWoDBygB3PplV5l6Vl0DRjn2tYJNJoZO7vrbfx6Agbhek59o5Ni37kFZVgEUiOd6ZfHWBhwA328uD0lZh5UQd/O7AN2/ryyiqWJC8eemm5jHJ8FxnYZzTicAb/7nfuFg0fIOQAGQG/+UVoQ4DYvtfpjiWD6i+g4qHT47vbEi7OHVsOrRN8Q4S6ESXzPwR2pftl7SX59sOHqRxIDmE+qiiDonZvsxoItyWmJ16GZSLXP18cK5sQkzZjLQipQqzq6RhLkrKubfayt7idfH7viCIrrhG/VUzBhEz0wCL3pb75/qH1vK4P+5c+551bSeCqBnyov1/izSOO5P41k59OShKZQhMj43Eio33ql9tAgIFAUL6Vhay+WvEJvF/hJX/hUQmxtfP7pyZD8JB3xY1tR0jtm5URVG24lQZVxNrNOEek93fjJIIWGzCSrUIK6YkPKeB75rudhPlwL1fzUHbbKs/ujHEI6mNBR9h2siWbTTANs5L/fkKjPafwquWhRL79g== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR10MB4542.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(6512007)(52116002)(83380400001)(26005)(66946007)(4326008)(66556008)(66476007)(6506007)(8676002)(5660300002)(6666004)(86362001)(2906002)(38100700002)(316002)(7416002)(36756003)(38350700002)(8936002)(186003)(2616005)(1076003)(508600001)(6486002)(107886003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?xlKiwDM9gF3EYDWoh0iLMV1tsLwHKT0d9nxJyHf3Iduf6GL5sQbDR8j6t5qs?= =?us-ascii?Q?Vs37BQKPvdBOn1Uco9s5tJBwf4PSOAIuN3wZ81kk75RvmRzmPHhPb2zu49F6?= =?us-ascii?Q?JHQ+gcZ3jbp3pv76SMBHCXUZtkNgVNjpgFh41DFRgsw5tl7khXSl/5sUifn6?= =?us-ascii?Q?TydMai1QQJNZJUPybnD6OFmZ8DHT28KG57YZxIJq3BnbY7c1Xj5OEUp2FcXF?= =?us-ascii?Q?2kCZeG0CijJ45xi5b+jH0AXN6EfPTPzEpNo6b/73rulNDM7g24H2QOZJ5abB?= =?us-ascii?Q?zSaRpOhgODrim7jMS55gSdklGQpWFYVnRwjsmUJ1Dz8pDbRpA8HR3cKbvAo1?= =?us-ascii?Q?YDyNqukv4RYzNW9Qr1UXjyxQGJeG4dI3muaVcAv7ZN0uKEYZCkd93HbnAExv?= =?us-ascii?Q?fgqYB/qo0jCE37CUAD1nkQIcNwoT1igb/yjEX6g/vhK+239IRazk0qzkpIWU?= =?us-ascii?Q?UkIMWvu5jXbNQqak5sRdEjBSOcnysq3JGgZkGXCIu6RMWCEYcDKeU6mHptyL?= =?us-ascii?Q?v5MyVdGQHLy+zJ8S4vZ6LLzvbR9xpUSzJmNjjzgGCBc/i6jcQFiYX1oKeNlX?= =?us-ascii?Q?62Qy1sII5vkDyvtIq0lGcMMpdXxl5U2RdcMWPCE+XB7F7f+hY4LfS5BUgZ7B?= =?us-ascii?Q?yBjAtNtjddnfoDCdfPpt+xt/TptehtEJDq10m0sA8SKTEE8XOePqyrlqij6H?= =?us-ascii?Q?Y5XqQccz2A/Aw5UnVuWc98T97EjdLRA6pG420J1h3th1jv3SyBg66TFMPW/+?= =?us-ascii?Q?WLVSLAi024V1j80I8oQCV2fw0WY3p9YaLlHVCemC1IGpaO0llGPtlLJj6xcB?= =?us-ascii?Q?TQez8nO5blbX7ABUuZ3D+aIqyotnInTjc1fEhZdorNBSfBxhlNpqB/mvzxrV?= =?us-ascii?Q?C2PhEbFuuAcHiNZnieh9Jle/+j5KOy9RPxHm1F7ItNygXxVnyMLHiqQz+F8P?= =?us-ascii?Q?BgT4jMmZCWqlVopwbKtGt98bUxTinsRV7VMgLbaDpCqreYe9wUprKP5ERhwC?= =?us-ascii?Q?+Ilw6uSYV/i4j1y4D4TW/qs8oIokVeZxfXxL5DNXTrwjW9MGM5uRM5R47D04?= =?us-ascii?Q?1osqo3S41SvAIAfIw0p0S4cnE/5757ocfAQodSM7HpSfaL8/MF3mOJBWe+7e?= =?us-ascii?Q?mUcKWnoknnuDlJA3bjF7ueIeKrqn5lYCSIoLWw0HXYua1/fXXrywJ0Y/nB6B?= =?us-ascii?Q?V/Fz4AS6zBIouu7mNT7ismQs6YKK+0dtHZImXMGTQ1G6nk4uuGfUSe+GdUu4?= =?us-ascii?Q?qFHEJLaxkkNs/BS5wTo/93UTvBFS2XOqA63G5HOxQUA9fc4Vg0vgAmW70sxs?= =?us-ascii?Q?68dLFbfPLkDYftQCMpHa1fu/gZwFhb4PtHzR5kry5aF8uRlEQO8QyWfMoHAD?= =?us-ascii?Q?9WxQgWfqy0QsTrJT4HcYqLw5WD7poILddbwniRms9oWp6Rs046ANQ0pAvPir?= =?us-ascii?Q?Moq9ja6AE7IRwP0QctUJoCVsVCp3ctZQQ74Fb6Ciy03qaNtuUzen016wMszl?= =?us-ascii?Q?TJ8wG4j5U9kiPzDlrRkOCtz9G5nd5KhwkF1fT+BJb8PSRQa+CxcCgURfozVb?= =?us-ascii?Q?Jq4ia51CpILPKfI1xq5l8nLvmp3UQDwsEq1DMlAwIneajL1gC+Ydq83yHtWi?= =?us-ascii?Q?jLuhZgSLxwujmAa/oFUc9fMYefGz4+G/196Px+OdbBmQI33eAxv1SqwMQ1IQ?= =?us-ascii?Q?b1U1bdsLJGKfmVOMUk0be/bMGWsfr/FJp+wXOtUq0h/mKEx++mmJ1PRYcz+g?= =?us-ascii?Q?Cfded+u2VocMGFhYy5GHUqC5zVCJgm4=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: f5f4dc83-191f-49ef-31e1-08da2ec79116 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB4542.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2022 18:46:29.6054 (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: cIonltKX+gzMKKwpnz/oSGQml4/k/3BT7bl+OIi3qIEiIC6TT6/MIChPjrQ/g/+kN1qIwU5XRBFPlXl8cD9cKhT6SwQXIcL/B8y8nUKms8A= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR10MB1875 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.486,18.0.858 definitions=2022-05-05_08:2022-05-05,2022-05-05 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 adultscore=0 bulkscore=0 phishscore=0 mlxlogscore=999 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2205050126 X-Proofpoint-GUID: 1YiBT9c9wmfh0SoH4pI9qxQOaohbyLsb X-Proofpoint-ORIG-GUID: 1YiBT9c9wmfh0SoH4pI9qxQOaohbyLsb 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 Acked-by: David Hildenbrand --- 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 Sun May 10 10:32:31 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 8ECB4C433F5 for ; Thu, 5 May 2022 18:48:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1384751AbiEESvi (ORCPT ); Thu, 5 May 2022 14:51:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35746 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1384659AbiEESuu (ORCPT ); Thu, 5 May 2022 14:50:50 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BE6491030 for ; Thu, 5 May 2022 11:47:10 -0700 (PDT) Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 245ILr99003197; Thu, 5 May 2022 18:46:36 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=fkYzI4tGrRreafFG3BighWKGefPYoK7WY+ZHmBuphls=; b=ctLwFJPqIwbfAbk7wfcRuSIsEnMH4DNAyQFgfBdV7C9VlA80Herk3+DLhIQZZnubk8Xa 7rXfjVN2STF73g7ckiAUyimJgQZtFWCiVoPQDBYo1S+EzncTwiNaLrZvmTUGL+CzE04b ZWCfGx6JZUoWPmZVOLaybSOPksbjc3LNYyG5PjtOKr83HNxrAg8zi1Ngjj5IFK6odUTK Q6xFPnwZX55IYkbJFNto6jLIm254L63diQwnKP7tP2hh6xAh8DvLWs2wxaAOZ/LwNgPv GOJ17e4ztN0ACt6eDxhHHPVNmurLHuqZ7uzLuVcTZMfxt1c+Eh/QSuSDXFQmVSGK0k6M gQ== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3frw0auwfy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 May 2022 18:46:35 +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 245Ij0Xp037847; Thu, 5 May 2022 18:46:34 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2168.outbound.protection.outlook.com [104.47.58.168]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com with ESMTP id 3frujb58k9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 May 2022 18:46:34 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OlyWLqXOK1FU/Vnypo/jrYk7SZzKZ4OmDWgRxtC/Wa0Pk+Mx/GzZDOPvLp9mx187ijvD81ltPvPbYxMUYn/nW0/9llDI4Oi7qNVi6awffHxpnlADnfGNogtuElyR1XT/VbjACmTnDeLQz+O7YJZpjM7UcX8eJFlhwZVtfGR9gdgQ+/jcJ+1wu2dOch/ttEV9CFAc1mMWK6cgv+IVmBSyBcYDGyQMINE6yB5uT1Or54R0nr8ziF+YG9NDYoqH1Ji8Pzt56GbqTEPY5/D8Sls8IbDW3uLrnVksiQaGz3v21zzaqVTvMAD+eD29mDht+56utV5Tz36tsYDRSieyEOrKbA== 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=fkYzI4tGrRreafFG3BighWKGefPYoK7WY+ZHmBuphls=; b=TapTE60Qxs8WVyoC1L93pVMnHKl/J0A/JHYP+bNkSXA2ehcYqrvwgR+3kSkXtcs9hg6Y+kgUODyW+v3R7HQPPEspfIiBLsXkEifs0vdpc0Q+CTvY07b4kHmaUKXIDQlQLjize1OOslqdhqA0U/7tUPnozy4cH18uPNuvXyyvjwzgsBb/mE/YICpCqlPU+SEI5NaZRYcifSaCR/95WZrb/WmkVk0PduUHCwAm9QquEtbteH+MID5TI8fON+nC+rzFa6Tfe8GVJvnQPDQlXYrrqShiK+FRK/K2H6HAJdTxVMam8jM3pBGI/0xSFSWiLtM+jOsG/fsfbGCXzp/uorthaA== 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=fkYzI4tGrRreafFG3BighWKGefPYoK7WY+ZHmBuphls=; b=BbRjeRcRsiaiPUptLk4IgHxM/47pt0JCpkN0GYbYyjxZs53iQyZkGUGxvNoHp0ckmyr5+xaz3XW6Fkc5+YsCPeK5PCx10O1wja/HHP8h+IMvnLtg9Jg9nVZc371inN5km1Z/NYoY9dRyBYfgPI/4AJSn9o/O5ScOIWU77Zi7GVs= Received: from SJ0PR10MB4542.namprd10.prod.outlook.com (2603:10b6:a03:2da::19) by BN6PR10MB1875.namprd10.prod.outlook.com (2603:10b6:404:105::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.13; Thu, 5 May 2022 18:46:32 +0000 Received: from SJ0PR10MB4542.namprd10.prod.outlook.com ([fe80::2cad:be53:725f:ba00]) by SJ0PR10MB4542.namprd10.prod.outlook.com ([fe80::2cad:be53:725f:ba00%3]) with mapi id 15.20.5206.027; Thu, 5 May 2022 18:46:32 +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 v8 3/7] crash: add generic infrastructure for crash hotplug support Date: Thu, 5 May 2022 14:45:59 -0400 Message-Id: <20220505184603.1548-4-eric.devolder@oracle.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220505184603.1548-1-eric.devolder@oracle.com> References: <20220505184603.1548-1-eric.devolder@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SA9PR10CA0014.namprd10.prod.outlook.com (2603:10b6:806:a7::19) To SJ0PR10MB4542.namprd10.prod.outlook.com (2603:10b6:a03:2da::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a01f51cd-438c-4cd4-5913-08da2ec79283 X-MS-TrafficTypeDiagnostic: BN6PR10MB1875: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: RtPd/vBCcyFsP3bmgq7AfukgwpqjiNXonRfj+KrZMSPqkIE0dsdzMDCS9NUq462jhsDP/O4Dv+gE0KZd59DSHmvVm17TT40RF/iw6PCLduQ0V/RVaavOuuggOSS/cHVaX12op5p+nKxmPloOEoI5IrsWAp4nk1oS9xI5vPBItEMWDWX1bNk3/N2CjR+v1JkWokL59z0NA0iuSk2uSkPlNItFSFQTF0nx62HhDol/h331YwNKJeYkhdEUrW5I3KwL9x7y5YYZIUgK+Gqn3e6EkdamGi7DTbPpKoni4iJ7CK6q+g+kCiiubF392cr2uhX0mXJkGvQELC9jkFfPaFfCHbXBOZUngIA2W8C4df/Y+qD9rPnRfQkBNZiu3FzUPjQIOSxnxx52oiLLle7Xt4cAaSSd7JEbT3WPY1tY+xx2g1BSAWYuD1zZPzPPJQl7I727USbxxLwtAr4Gp5Mia6ioWM1gGAh6aDY+kochpznqC1I1Ln2YTDpNyU/LIaMQf24RojmAyTTPDBedlg6EKxb/lBsMypaQOnAPoz7U3stsXZPVEGevoTHSnv3i9fjBqcHo1Q8wiu8OeIIvSj4yQqZxpr5htZ1+/v11nlYePkoZ3wj607CazvMpc6Zd1IMa4CACGgp9omguMt5rKOLh3Jrxf1l4vupRuL6h9pqJKW3rYO+nEMfLqm2A6yeTtqfRkY/qsuNruKIKoHVY3ZQpqxAIf7mPMiXV5419SdaaQYTkR6w= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR10MB4542.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(6512007)(52116002)(83380400001)(26005)(66946007)(4326008)(66556008)(66476007)(6506007)(8676002)(5660300002)(6666004)(86362001)(2906002)(38100700002)(316002)(7416002)(36756003)(38350700002)(8936002)(186003)(2616005)(1076003)(508600001)(6486002)(107886003)(41533002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?+JfnBSje1kc1PfGrWxsglT06ciTqdwXfgFapkQimsulsp67Az7OTMlmxzXpK?= =?us-ascii?Q?ilhtMIF1NpiW84q5scPevK0ziHKu4QXyE1iTqENhtKQMcSzADFFGZQTtjw6G?= =?us-ascii?Q?tgsAyCAhSatS4jMyZuGTlRRd9+dV6eC1Ds39X2bS4UOMyPQdEWL+e3y5rqOn?= =?us-ascii?Q?vHiftWFlPO/3v+rUldiDrrVIR1BAh89G2JDUNp655Ms1FbWR5n3Las4Uo3R1?= =?us-ascii?Q?WF8zuEk7dLgD+CrpL3PW8kKKiv2NDp/Pb7/J1tfFqOco7dmVdacPEHtKkrSP?= =?us-ascii?Q?VYvb7xmzyKo49vONH1OOK6x/HTZBxpcAKBW2xVozOh7x6u7nwK1aRGrJlbIN?= =?us-ascii?Q?GPEo8fTanuEGw2tZ8pr+ornZbBUy6+DnzxoNeVV7XpBqpPG/PJUh1oh7M0Tf?= =?us-ascii?Q?2ceuFbsu0+HXQsQrPqvV4I6+xZ3Un9SCVYjdrYHGbGhX05kZtB9MG2yzS/Po?= =?us-ascii?Q?C1oTN03jTFAYUFTgRow58fzWbXsRjIeCXhUmxMmT69ZkigVTjbXZyJyWCRRb?= =?us-ascii?Q?SSnA27B/nhCMlZzhoCtMdAj/9LzOElUNxqfPp8xVY3EU1AgakDK6Jong2nXX?= =?us-ascii?Q?dlUVnsBbNAKzHtRgPuxaAWUT5qE+P9epw0AOckDFPT/5rPe30grcBOzOY0c8?= =?us-ascii?Q?F0KFXg/nCQpcf/ibqNI7sEs52LgwJNwdzXNRR6MCHL0kWo1egrPkxHboznwi?= =?us-ascii?Q?wr7IAOEjl5OT4FyqY2iGmAWXLRKh8QG9goGvRJjQFaHc8oqbGG6W+4HaMJfT?= =?us-ascii?Q?gAKKBbPx0pdEK5laskf4WxVHA70YUzCFAziqHcIVyiCm10WRh1r9fm9rHYww?= =?us-ascii?Q?BbwWLJhYN9o0dWpIbo0g3K6VqMUOy+YYyqXgFf0SGjBPT3+QiGypWTHRO7yC?= =?us-ascii?Q?n4s4iNo/jrhuou3p0zrErZzSgqi8R29OrHPCxIEXqX3b1+s3AfA9yadkUhua?= =?us-ascii?Q?tPx/YDn1YBfzXadHXoFyGmLIw9QwraBzqXTsaYgh/JpwU/DgD6KErB4cvwID?= =?us-ascii?Q?zLllB95Gjux9ivVDo0/8tj/M5GJ6N3JdlT7hVAHwu+wE0Uf/Dz7X1oaj2mFd?= =?us-ascii?Q?ReoCgxN2AhdkfWt5JeJD/YmY3JQ3lqTU6jZhZG+NMKX3q8kvm/lndq2RNkQJ?= =?us-ascii?Q?Q4Mazqmboi84L2pXczVjYyLysTnwhQDRoayJsqkMvOJ3bSH/65vRXaYaR7t/?= =?us-ascii?Q?QkG3tGrG8abkawtOHDig+NXhK18ETIKQKvAepMqb/JdayNZpxk59op8nPF89?= =?us-ascii?Q?ylmFBqBu4CEx+BzNIk5Qq36puaeKlfVuu3NESu7o3rPkKdXgLG0Zb6mA7nIa?= =?us-ascii?Q?hJ1frxFNWqEpatJIPwu1atcsK8sCIMNLL+50xLr9rZa7VWhc7u49IacITeLg?= =?us-ascii?Q?tdgeI0E8gpQB7TKvSwmo08TyhxxVKr3xk4FKuxRD09cyr58dn9OgunP+ADXh?= =?us-ascii?Q?Mr2c0qdbJIznbEphgjTDAc3pnVgLSbvlaMrzAkKpaXYeB0fVHY4EPX+MVOR/?= =?us-ascii?Q?nlltbFWFOqZO72WJD4StHqcAFWu/ZZ08qp7rLgNU8PzZwUggHNtQXhhkLixN?= =?us-ascii?Q?ArZy7hb5FqF5Ypwvjd+mpK2DlbSddyKn6Ldufy45GJ3Jk+dD9R+I+gdQAhc8?= =?us-ascii?Q?9Yrhs4i8DW6gfbfCQSYgo6qSq/c/2WFEJn7f3Sc7iesU7sp0k4g4xTVBz0DV?= =?us-ascii?Q?ZMBQ4lUibdM5lPl6RMvQ9YkD6QsGNtl5MFvnc3Ar2XM5SQJWC1xfOG7sdQZ/?= =?us-ascii?Q?9/Kv+9oHW+VPK5LUuBYzibDNwuFpp6Q=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a01f51cd-438c-4cd4-5913-08da2ec79283 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB4542.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2022 18:46:32.0155 (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: P7ysODUfQlMTyRDRn0SJ6a74voV7qKSi2u/Xw0LQ8ZrYZ7yRx+xRd0rOLyhNbzIJ3YBXt+J7fDzKi4OaGSffJPdiQ1xh6ZBzVoZU7f/8FQA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR10MB1875 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.486,18.0.858 definitions=2022-05-05_08:2022-05-05,2022-05-05 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxscore=0 adultscore=0 bulkscore=0 suspectscore=0 mlxlogscore=999 malwarescore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2205050126 X-Proofpoint-GUID: dHiZuK2pmXvGnMf77oqsfh459gzkSJhQ X-Proofpoint-ORIG-GUID: dHiZuK2pmXvGnMf77oqsfh459gzkSJhQ Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" CPU and memory change notifications are received in order to regenerate the elfcorehdr. To support cpu hotplug, a callback is registered to capture the CPUHP_AP_ONLINE_DYN online and offline 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 notifiers call handle_hotplug_event() to handle the hot plug/unplug event. Then handle_hotplug_event() dispatches the event to the architecture specific arch_crash_handle_hotplug_event(). During the process, the kexec_mutex is held. Signed-off-by: Eric DeVolder Acked-by: Baoquan He --- include/linux/crash_core.h | 10 +++++ include/linux/kexec.h | 5 +++ kernel/crash_core.c | 92 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 107 insertions(+) diff --git a/include/linux/crash_core.h b/include/linux/crash_core.h index de62a722431e..a240f84348aa 100644 --- a/include/linux/crash_core.h +++ b/include/linux/crash_core.h @@ -84,4 +84,14 @@ int parse_crashkernel_high(char *cmdline, unsigned long = long system_ram, int parse_crashkernel_low(char *cmdline, unsigned long long system_ram, unsigned long long *crash_size, unsigned long long *crash_base); =20 +#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 +#define KEXEC_CRASH_HP_INVALID_CPU -1U + +struct kimage; +void arch_crash_handle_hotplug_event(struct kimage *image, unsigned int hp= _action, + unsigned int cpu); + #endif /* LINUX_CRASH_CORE_H */ diff --git a/include/linux/kexec.h b/include/linux/kexec.h index f93f2591fc1e..5935bc78ed7f 100644 --- a/include/linux/kexec.h +++ b/include/linux/kexec.h @@ -308,6 +308,11 @@ struct kimage { struct purgatory_info purgatory_info; #endif =20 + bool hotplug_event; + unsigned int offlinecpu; + bool elfcorehdr_index_valid; + int elfcorehdr_index; + #ifdef CONFIG_IMA_KEXEC /* Virtual address of IMA measurement buffer for kexec syscall */ void *ima_buffer; diff --git a/kernel/crash_core.c b/kernel/crash_core.c index 256cf6db573c..f197af50def6 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,90 @@ static int __init crash_save_vmcoreinfo_init(void) } =20 subsys_initcall(crash_save_vmcoreinfo_init); + +#if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_MEMORY_HOTPLUG) +void __weak arch_crash_handle_hotplug_event(struct kimage *image, + unsigned int hp_action, unsigned int cpu) +{ + WARN(1, "crash hotplug handler not implemented"); +} + +static void handle_hotplug_event(unsigned int hp_action, unsigned int cpu) +{ + /* 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, cpu %u", hp_action, cpu); + + /* 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_handle_hotplug_event(kexec_crash_image, hp_action, cpu); + + /* 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); +} + +static int crash_memhp_notifier(struct notifier_block *nb, unsigned long v= al, void *v) +{ + switch (val) { + case MEM_ONLINE: + handle_hotplug_event(KEXEC_CRASH_HP_ADD_MEMORY, 0); + break; + + case MEM_OFFLINE: + handle_hotplug_event(KEXEC_CRASH_HP_REMOVE_MEMORY, 0); + break; + } + return NOTIFY_OK; +} + +static struct notifier_block crash_memhp_nb =3D { + .notifier_call =3D crash_memhp_notifier, + .priority =3D 0 +}; + +static int crash_cpuhp_online(unsigned int cpu) +{ + handle_hotplug_event(KEXEC_CRASH_HP_ADD_CPU, cpu); + return 0; +} + +static int crash_cpuhp_offline(unsigned int cpu) +{ + handle_hotplug_event(KEXEC_CRASH_HP_REMOVE_CPU, cpu); + return 0; +} + +static int __init crash_hotplug_init(void) +{ + int result =3D 0; + + if (IS_ENABLED(CONFIG_MEMORY_HOTPLUG)) + register_memory_notifier(&crash_memhp_nb); + + if (IS_ENABLED(CONFIG_HOTPLUG_CPU)) + result =3D cpuhp_setup_state_nocalls(CPUHP_AP_ONLINE_DYN, + "crash/cpuhp", + crash_cpuhp_online, + crash_cpuhp_offline); + + return result; +} + +subsys_initcall(crash_hotplug_init); +#endif --=20 2.27.0 From nobody Sun May 10 10:32:31 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 14BB4C4332F for ; Thu, 5 May 2022 18:47:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1383956AbiEESu5 (ORCPT ); Thu, 5 May 2022 14:50:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34942 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1384046AbiEESus (ORCPT ); Thu, 5 May 2022 14:50:48 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 332D8DDA for ; Thu, 5 May 2022 11:47:08 -0700 (PDT) Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 245IOvGk026114; Thu, 5 May 2022 18:46:38 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=+/D92orwRZwm+Pk8rNy86Zf/Ee4EOg9Ccfh8zWD7IDk=; b=EU14p3MYT4KPhuwyxuQwEGm7IroEPloZqRrOy44xUXB5uf/qRKJt/WJIG+xRr2xceZw0 gc3bB3qBq5VO5YcfexNdiGih/xD96MWy3L/+C5TXahTa0szTlL+E+5ipaxPXPbh9HxQA dF6QGMZ2nEUlWP6oYQjnIEwjGNA6wZNKsIDOHoyYajnNkMm+XLZUoeWiMcjEiPYdaAYd jjbCgGD5cicqDlcVODRDabJv0Q5iZtLHDb3qVqggw3KxVlileB4qZg9Vh0eQhNNnT6Kr D9g/947XKwRxu4disDXMGvzkf9mE5CMoEvIIuZTYhQOAiFGofpoGsC5LUoJo0vJniAO/ GA== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3fruhcc098-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 May 2022 18:46:37 +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 245Iisjb004616; Thu, 5 May 2022 18:46:36 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2177.outbound.protection.outlook.com [104.47.56.177]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com with ESMTP id 3fruj522fs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 May 2022 18:46:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Okiu2XKJZaC+7/824Q/Jidtyu6K+J6SaUSwGTfObT+h/IDT5X0c09oGNFwQs8gAwoPaibeWhwfZm+4xg+ksBzKq+4uVLS2+bnbCY9PlbU2ZR1ELKXTwyT543ZQu/7lS7c7gMl7UpjaZSPTTdhed2dXf/lFTVYMcJPXUY3QMPxq9TIwR8nKEa3smEtqMEpxDulzXxZvK5ovYjrR5WdHckzsAhvmnJygiGVcj3A/1hcXET+HicxrS50A5JDUger+RnqrhBMYgOeCREfYr0I0gjefwX5+FWK4ZAk+SsVRNVPOAzqa4Hm6Rc6U3luLbQgGlQ6Fj9o/xq43AkMuUCCsgvRw== 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=+/D92orwRZwm+Pk8rNy86Zf/Ee4EOg9Ccfh8zWD7IDk=; b=EBQWm2gjsE4W9ZMXguv7U/Frd8tYlOjcAfAH5UsHwUN2FZkKKom+fsoCgyjMaTdzey0xaMrl0nWDOMF+vYM9cVGTg3JnASpk3ZMPRMgpwXfYqgwkSBrhsSehxHSlEFes0yJkJ0lKmJoXqCu6xyloZsu3kVgyGGQSD9fm0HgjoOjSsTo4KF8ynvDOqpDO9KC/8NykrK1R8aUrj1HcVLeagsTpslZ6US4OPkY1thXNdlrcNoR0wzfIF43g3dURPlMtAFnSFv9+2N41nPX7aKjOB+9IrLHng8je1f5JwZinTfGnMjub84XHQO3lHwTtWgQO4w6BFCjdHUxAmCvI3odYlg== 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=+/D92orwRZwm+Pk8rNy86Zf/Ee4EOg9Ccfh8zWD7IDk=; b=K4na8dFvhyzH6q5A6eBRKYwJzJYLg3IB4n78lDpXuetIrZZyIUjJNgI/L4fc59YjAX1zzoHqokDInTk1o7oxHGhu0aEIGxRi5jeLjHpwodnONk3QdwP28n3y2YXTOBJqns09+mB/yJdVBSSkW0MfUKh0+QELt2HkUCYxM742Lv0= Received: from SJ0PR10MB4542.namprd10.prod.outlook.com (2603:10b6:a03:2da::19) by BN6PR10MB1875.namprd10.prod.outlook.com (2603:10b6:404:105::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.13; Thu, 5 May 2022 18:46:34 +0000 Received: from SJ0PR10MB4542.namprd10.prod.outlook.com ([fe80::2cad:be53:725f:ba00]) by SJ0PR10MB4542.namprd10.prod.outlook.com ([fe80::2cad:be53:725f:ba00%3]) with mapi id 15.20.5206.027; Thu, 5 May 2022 18:46:34 +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 v8 4/7] kexec: exclude elfcorehdr from the segment digest Date: Thu, 5 May 2022 14:46:00 -0400 Message-Id: <20220505184603.1548-5-eric.devolder@oracle.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220505184603.1548-1-eric.devolder@oracle.com> References: <20220505184603.1548-1-eric.devolder@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SA9PR10CA0014.namprd10.prod.outlook.com (2603:10b6:806:a7::19) To SJ0PR10MB4542.namprd10.prod.outlook.com (2603:10b6:a03:2da::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a0384934-cf90-47b6-3c3d-08da2ec79403 X-MS-TrafficTypeDiagnostic: BN6PR10MB1875: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: odOD2EiZgpYZqebxnnFzbRa+RozFXt9Y5ahVD/NQVqT3zm655eoAR2emB4s/kYoLHs+d1f0BWLP0Nf8Y3ioA3rBupO+O3arD8FB+AK2c3GAQaTzexV3gI894be2ip6pvFpiLhRonq/vBQsBD+Fdvh754bANz2NDjJlk9s3Y4LvxRUeC6+ZiQd1T7ViU5cXFJSZc7peIoBGwI2HWTMbsTBO8WPU3R3aGiJ1HjUWIfqyf+MQKiWjgWCKoLrw4MD8CxqnErf+etiBRoj3gZcfV0JdxHz92LV1/Q48r+UuOQvjeJbsjCFpgyZ6aIHMel/jlOMfgk8O2tqzdLkp7aTeCxrVUENS1fTEXXvRYnTc30W2w5Yv3Qim+P+YG4nbYyIqhu9M3hjd5nkgDLNTTex2u1cKkoZzSTQi9x4tVTbnqMEttYBEQ/ad30PNj4Ivb7rzSxh6auyaGvhizRTlXhRcRcMmGxsM3Oh1QePMmBvU9KjNhC8mZ0P1oGbjydu70XUtXfJiLzUd2Xqgf7kzjrkV4RkFcIDYOE8t3CJNx3dpOK/wxCEN/7vtgQQTE5r58qxg0AAGxxrLURUV2ThtKplYRYDnmEtEXH2/lqK3qeDgX7if0i2bTxaxZFH7YrqLCJJ5KUpmfBfnnuNHQ0KIih4s4CAjW2HpF/CHZjKvF1849W7GV9yQV2tiO4BYWRwqd04Qh/9vi7hQGkCc8OFSXxz+3slA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR10MB4542.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(6512007)(52116002)(26005)(66946007)(4326008)(66556008)(66476007)(6506007)(8676002)(5660300002)(6666004)(86362001)(2906002)(38100700002)(316002)(7416002)(36756003)(38350700002)(8936002)(186003)(2616005)(1076003)(508600001)(6486002)(107886003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?EZtl9Fa+8d/0Ib5CGfu3WYNFhgZCIyTMHmP6RHsFkfcKT6BKs9YP7YdBWslf?= =?us-ascii?Q?OWZ73EaLfF6oOBGk/KB+VBXForoJo4qU9Dr4+CuBj79332ir/cFuwac3nahN?= =?us-ascii?Q?ASa2uqh3GBW9RDBZ59aOIqrV0Qwjnlu4H6oQOcBaeFX9THs4k2tK7m4nIIUt?= =?us-ascii?Q?zRL9l9QAb4vH2uidsHVWiiaELnaIMUg6HUS/nGBibuZ7SGu/tEmjgG+NuYXH?= =?us-ascii?Q?jDiioAgIrgMUowD+W+S/rwgNb1f7HR6nc6+PWMUSeeFhb2DQeSjNr3sLZ1EY?= =?us-ascii?Q?N5EHXBzkIoBX6iLZ2AcEi3Np19rrfWe5oyuPN2ur2EKJrO97U1bXl1EQM378?= =?us-ascii?Q?OuJ/G6bakE2+6iF09z5DUGVhwbiMoQEfM0yT1oie6vbvakj66bUx20ubipHI?= =?us-ascii?Q?4Adf58ylni84mfQ+YTGFjvgcfTmJ7r3Fnm2kStmePQVOD5iLm5CsVlNA+m1n?= =?us-ascii?Q?bTruuXuHQMN3Y/jd31KcygrnJaGjmW3LgJCTfc1SHtTGx3BbHQZ4cQcBfQxe?= =?us-ascii?Q?9FontDjRiwDq5Bs+Vu/LMjMQi8KAfImHw2SNwmjsRYqt6N5nFodOEy9pv3sk?= =?us-ascii?Q?Yx3jLvg2bkwKhuaNkBEJgmd+A5fKx2niYR1u+gQG87tkqKuJdsq+JJbCwOsW?= =?us-ascii?Q?rP0KLmaV6yLVzcx5dKldK+KkC3B1kQ4rdT+HJMuJ8M++hxgqaGBTAjsMTCeg?= =?us-ascii?Q?KM4Np//7pgSciIT2h9S2Xikq7qGROqjnqIoPHjbgqNwrBfSclzjpl4k2KeE1?= =?us-ascii?Q?xWqftBXpte2BNmP1leA3c3ctQ1qy5KpHvPHXySZRU/z4I+I7POmx9ubYUgKS?= =?us-ascii?Q?xrBk9lOiMQN2Nwad8rXlxS2uDr0/uMjw58YrXqh36XwWrv7DFl6X3mDnwvVi?= =?us-ascii?Q?Jc8IKXPbH3/6VN4llT3wMNkGG/YG0nwVhFhgSLcEHdDp11335CBKmr7WfXU+?= =?us-ascii?Q?gLp9OM7tD8la6CwWX+jhlSVgsNu+5Tn078Y8H1NRPCNqgV3DQIvfFP6wu2v3?= =?us-ascii?Q?gMI3k8RpK8plUEr66dhk09Da90lzfiqg8MW1c3+QmITXgo5Vjr/vSH58QagL?= =?us-ascii?Q?XHnc/aMi3WZ8HRQo8CSVpsETDjOlMNrmuXB+Ucs7fwC5ZoFmI0n7Z7qAQ0Wu?= =?us-ascii?Q?A9g6sbCBMtfdNqMeKS0KLwlJnBrGr+/xC4mgvyjLn99wOp+HewWxp0jFA5Xe?= =?us-ascii?Q?sKhUKyfoCK2AkYHSHkkPkGYjvwRJnUi1ijwVZlIWEnAsdp7J6wGZQbc3Ae3A?= =?us-ascii?Q?mUmyvHd9oyxHRejfGciue8u+X5E45jOL5Fy3SlzK073Ya0eL9+1BCe/IG/1e?= =?us-ascii?Q?zgBdCvQ0IFRw5nwb0jNQoCyeG8JBZY2m2HE/qNfjjrXp7RJTTlx7INqx8+v3?= =?us-ascii?Q?/+kQUTT2MDE1yJXq2DPB4NBcvG09mLbEBERWJlYnQ1GCoKPyNMmWnsDdmjA3?= =?us-ascii?Q?/dGudiW8L0nFzQwSB89cqE+uWdH7VCZ+9Lov6ckEVaWgfpUJSVOqzxq5tz8W?= =?us-ascii?Q?IV6N6CnIKHScNKwdDj8cOj6C+wsjwefv1cKqckRqZG53J0qTJ8KkJ4LmjVLb?= =?us-ascii?Q?pXKPyj+L3v/pLuzQRsP7NvfFFKS+hrF1vZoXlakcL6sVq0FfVHpL+QhE+V+n?= =?us-ascii?Q?ptRcziip/YWe3Em/HOP2Ze33MTAP2v9FIZ8XZ/uVD18mvjWINNGQa1y07Mz4?= =?us-ascii?Q?wAEAUIOFMb58zL2Rmk4QDZP6aAuaCAscjYnUmXv7nFHOcnBEiiaz9pnH5zXd?= =?us-ascii?Q?s7ZgjfgCqW5TsO+qDKNMIpZnpy+YfUA=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a0384934-cf90-47b6-3c3d-08da2ec79403 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB4542.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2022 18:46:34.5611 (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: M5CdYUaThYw9iX5J120cGzq/ReflBJeqXiEejn+UrGjOB8v9dX+6LjUiI27v3/eBT0NiXQxF80Hyr3JT+O++rIzlwha7BsgMeBL/AoynX+8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR10MB1875 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.486,18.0.858 definitions=2022-05-05_08:2022-05-05,2022-05-05 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxscore=0 mlxlogscore=999 adultscore=0 phishscore=0 suspectscore=0 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2205050126 X-Proofpoint-GUID: TJJj677YlsLtBr7NbVmcZ-UjWAVzLqcj X-Proofpoint-ORIG-GUID: TJJj677YlsLtBr7NbVmcZ-UjWAVzLqcj 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..aacdf93c3507 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 +#if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_MEMORY_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 Sun May 10 10:32:31 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 B7572C433EF for ; Thu, 5 May 2022 18:47:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1383279AbiEESvK (ORCPT ); Thu, 5 May 2022 14:51:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59080 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1382606AbiEESut (ORCPT ); Thu, 5 May 2022 14:50:49 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4D62E2E1 for ; Thu, 5 May 2022 11:47:09 -0700 (PDT) Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 245HnBqx026132; Thu, 5 May 2022 18:46:39 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=VVgeFYJ738A58ivO53ECuv4mR1k1En2fwpOG0omofRU=; b=oV0xMwwFWrjJrqMKby7AY0msv5OkCcei+Vi2dC3qJntdotu4NgPsWRDv2Xhu/sv12yD/ LIlfejOj+CsZuuz5eRUJfGcelIi+U6QSwQM2nTgIceZDqR2JOufHfWHbirOFhndRkTbR uvEaX8xs0xkOTOFhcu1hb5AFSWdDqgZuvTLDJX/FAsvx3iABepm37DCC7cARWvssIL3p 9J009upk3mnL6WScmvJSUxmWgcMetnggdgM2X65I0XPcdF/Sw0FXv5Lvlmqe0iYlTSCY Ei1PlSbTT3MO2JTlUytJKRkuZe0oFB65VFZz5/AHaXuH0eggBFzXqjdZYsbEGkDw78X+ Iw== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3fruhcc099-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 May 2022 18:46:39 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 245Ijb5j016775; Thu, 5 May 2022 18:46:38 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2171.outbound.protection.outlook.com [104.47.58.171]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com with ESMTP id 3fusah5r9j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 May 2022 18:46:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XDdeD2AJYea2Uy3DQtYL0xp8pEKZCMRcqBGyBpoE3BQA6KwLNITF7UWHE+nbf9ARnCKa9H/GTL08FK9DopJ0mxmIcJZDfp8yXazD/QnJr+ihNwK5X5IZfo5L1R0OZ8IcPTzgk/mG63Ax8B+2eWOIkE69UHzBDKq/PG8nlivntmc2TNkoNKB8kQwGfWOcttXea/7RbhXmLt4OEarhD0S9dM413SSPmyq+uYAks1con0JQVmzJH59AVqcweSq/qJ8IfDXGE0hFiCX2P6ywKNkIrCnD7v+VB9APLJK4ecSTHBQnIJJxwzES0KmW8jHOBXPtam1WonyNS0YRFOCmgs65NA== 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=VVgeFYJ738A58ivO53ECuv4mR1k1En2fwpOG0omofRU=; b=Q09XMukzLAk282BlRCgVLsVW+fhfzsz02ydW010vZ4R/fMFPxLmTdsJvnEOy8QICNtltUfNSZpGW8I10bXzcCTXK+ehXXg2e6z59SGecfD3LtQ6RP2xD9LOu0/sKoGmGnnSmbCtOIHch6XJuPLCnxmtEcHQi86dajhMhyrNj80KM8/37XlsnHV2s4OtY9nYXERUpKue/J6Yro6KpBrKKV+NToFrCWV4KzV5D99nB6OAJwwItVHvhRdY4h5L6oyTceB5R+7MUMcDz8ZIQ8t7fDqn93QHLYwWqqgFoqUGWkspvw5x9XIGWpi9EYAV6zY0xPpzz9fGbGzSq4sMzEj3Iyw== 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=VVgeFYJ738A58ivO53ECuv4mR1k1En2fwpOG0omofRU=; b=L0Rf46H3/GltrfwomFPjnlBtf11yTTCfpgisN8x9worPOxN/+4RVVR5hdcYtaOZcr1S/xAWGrU9gqYHzeZblYNXkqdRZtliD3Jf2yg+10WPROUdO9+63459TEN5pVDmGtMqH0RIUis5gL07K1mex6LBCDxJ1vz4ZKZDCtAvgX5o= Received: from SJ0PR10MB4542.namprd10.prod.outlook.com (2603:10b6:a03:2da::19) by BN6PR10MB1875.namprd10.prod.outlook.com (2603:10b6:404:105::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.13; Thu, 5 May 2022 18:46:37 +0000 Received: from SJ0PR10MB4542.namprd10.prod.outlook.com ([fe80::2cad:be53:725f:ba00]) by SJ0PR10MB4542.namprd10.prod.outlook.com ([fe80::2cad:be53:725f:ba00%3]) with mapi id 15.20.5206.027; Thu, 5 May 2022 18:46:37 +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 v8 5/7] kexec: exclude hot remove cpu from elfcorehdr notes Date: Thu, 5 May 2022 14:46:01 -0400 Message-Id: <20220505184603.1548-6-eric.devolder@oracle.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220505184603.1548-1-eric.devolder@oracle.com> References: <20220505184603.1548-1-eric.devolder@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SA9PR10CA0014.namprd10.prod.outlook.com (2603:10b6:806:a7::19) To SJ0PR10MB4542.namprd10.prod.outlook.com (2603:10b6:a03:2da::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 49932902-769f-46c2-8296-08da2ec79580 X-MS-TrafficTypeDiagnostic: BN6PR10MB1875: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: kkR/ZA8x4o13EmBbABSgiRv0aY7y/N/yFiG/1/YgSpHr4r9Dm0l/xaOQlqPKooD5L9YdwXz6eU37V55QkX6lxQyj2miClDnnE3RA+MNz6CLwMwWD7Ls83NLB7uN/K8FQaFg1Vl4p9X94ZHQrfyCYPSs9Jndr8EkCo1jv1RMGyfK+teU3EENIvFwOa/nNproCy3HEzepQtqIEPd7NQADLSjaO1plZoAcfo7b4M4HZ1Kfyg0OoVyoBEFSzWB//1w+3iomfo4erre/FxioCVDb493hJNv0wNZoHslao26MSNOe7kvO+ORptiOV8RvogXVgeoLpUnQdOrje9shCkngaQ3DThWtRo4SAEddnWSbJZb873sG2Wiio9Y0SHkn9jIsTCsDqpIEaTVBkn3PEheDc+4TyjCyfjt6uACceO7CebfMoEM8zF5ZEjOIuRgG5W2+3/o96gbC9M3df3S9dnZNl42egbVUmlcjYuLr4Lk6+fGlXTy/Z4GSCxH4AAT032N3ge1FsNajsqqcrReJGGe5vVUj7HPw0aUgurJv1yWkzbgOKtfJAa2JotlDLdzAZL2ytp7npv2bockhYtW42uINAeC+JvOkp1r2pUQElagALXKz2EG2yme9F1isjOMoj4IkzJbuQn+gsZOkQvlPn6vLMNE8ixLPj5ymmqYRuw6v3s+9mNRiDJGDiZHqrXrnZCdABedg924MkhYB3laU5iYnKBww== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR10MB4542.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(6512007)(52116002)(83380400001)(26005)(66946007)(4326008)(66556008)(66476007)(6506007)(8676002)(5660300002)(6666004)(86362001)(2906002)(38100700002)(316002)(7416002)(36756003)(38350700002)(8936002)(186003)(2616005)(1076003)(508600001)(6486002)(107886003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?UeD5JPhm2mHOWEnpACiHrKZvtHSsTq0ruR2Zgc3SmRsv9OKQG2rdTLGeo4V6?= =?us-ascii?Q?Par83DAa4H0JLqgwvDMwbzLgcNJjfIixBz3coOuapER/iRoJsYbErdR9eaZl?= =?us-ascii?Q?LE19vqSIYVSdChFi7zhXn+v1VlEN8XZyNpvouX+UTsz8j+xRtXFLGVHTUrPB?= =?us-ascii?Q?lcn86Ygr42+QdJ9h6DEDSlTS2VQ8CbfKbX4E4UB+nkXXZBgnjMw/hu2t2zzY?= =?us-ascii?Q?ZX8/KRWJAYWcsKXyeeYdLCMahnFqmaJ1D+5b6v1ALBr7ai2La3HFael4namC?= =?us-ascii?Q?KYGFwYGXZon6wRHX56vXozsr1b5APij/MeDnMIRJ5n0hqGoMob131cS54Cvx?= =?us-ascii?Q?alEIeetuWtRgy/PAKjDEee2yBGQDiojbh4h+4S5pYhH/VRImpWqVzrumQpJb?= =?us-ascii?Q?FNU12Mp4/cAtHePghvRgvChzr0u+d2K/vZJEUvBl5E6z6Q9dGoKZzmQVUfP2?= =?us-ascii?Q?rvOA/DlcusZCkEhExea35DKhIXnj7QfHfCGqxKZkqCb/j1eJvRk6FT4XFzl0?= =?us-ascii?Q?GmrbCyfkaWvpIBn7xlg013FKF6HVQ8WfjrFg24l/bzlbtfZA6djrg5ct0dY6?= =?us-ascii?Q?Kic+vHwfViVY5rcT4Ob14m8Tf7rGY6kNTo6sD3WhJVTzxBdWtDz68CwEyzHx?= =?us-ascii?Q?e+4tUHFjrp0YLqHF/JyqCpOFjweO/E81W9DLlrIZlJJfMT5duFgw+LfBriKx?= =?us-ascii?Q?yjm6ffPJZt+uY+9C/T9MyfNZlwyREtQwtnFmXxhVuwv663KEujynvRWKgEmq?= =?us-ascii?Q?RgHG4VwFAhvr3ZwX0rK5+oldWdn+Sp+Stj0+2k/ZYpz9YvLm+TujFgUIsTFW?= =?us-ascii?Q?1RFGYWmjZdi5TibISsjwr/8O8kyM+0+CSKAXzWBDcy/CIgVFVJsHKszGpg6d?= =?us-ascii?Q?9H+P8JEXmie1iVbyr225tJ+f6Jx49cNEGgT/p7m4Zefh9DCtP1v9+6sUY9T1?= =?us-ascii?Q?PajNERDbLysAMyBWxdzH5Grp6YvgDsuvnHEtUsnBTAhESOmA88+H6UPLDkbz?= =?us-ascii?Q?AwproK10foAeqbnLGbmMpQG4NOLPyhkBPipeGQVRrGouJ+ykZ1votVpUHGzp?= =?us-ascii?Q?fZxFtrTCbKVxnVGg8Vbjk5x+tjWBZDI8hIxJu9CciXglXtrINtWziQjHl61F?= =?us-ascii?Q?/LZa9s//Z+DLsyKuk8fclB06wC1C69VKx9IA9oBKPhhKuHjKNuoYBP9YiuAQ?= =?us-ascii?Q?jGDB6GxnumLUb3dj9Bo9JgGgh+saPuKaQUxOrLvufTEVIrPthY2SPsB8YOdW?= =?us-ascii?Q?n3FP9RPqwj/QxXu4ArX47oI6DzfwQd5GWKANN9Iv2Xh/rW7DE/faTfwxEpx/?= =?us-ascii?Q?b7PDrkRyKn7U3TeUmewwgbffZePd0w3mPGp9YrE7ioWNhOyCV4CtSwBp22Ty?= =?us-ascii?Q?5LElXw5o5VdfxcFon+e9KoqKcEV7L+8u1/kahyXMfzMuKGU/w5ziZ8G8h9wH?= =?us-ascii?Q?f72IeDd5mrxjHxwmz37q1EEjd83IP/mhRSZ/MZWKQYZ/5+d6YNqR3JENfkKT?= =?us-ascii?Q?/dRKPnb/I2LtpXM+rIJtliCN92rsg6aFUH02hQwsGPtI/f3qg7OxsEfanUvG?= =?us-ascii?Q?5pL8uDPXkFuwEFIlKhcyoQntVHcRf7jrl9AY/wOpbwJ1caEtaoHUTVxCoVxo?= =?us-ascii?Q?JguR4n46hihGnrpyiBehlvGjqt4f/RSTxdO7eNUvhVwfZzcrFYI4ICI42SzO?= =?us-ascii?Q?Xwyvm3xs40piJ6hb9oUiSrgZZIlbQJrXX9dJCoMtylWuXdMJdKoqrtwck1jf?= =?us-ascii?Q?6CFFZoCwQvc40fhpvZt0jXzun/wrA+0=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 49932902-769f-46c2-8296-08da2ec79580 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB4542.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2022 18:46:36.9817 (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: KDgX+9CMFiGjfWIYFhZXYVZN4TJFj4a+YZ1e94+VjAR/Bu2FFXPqyzUP1lNVp2GOW/1mh0A/hppENgWztm6tWBR7NbnRU/RLmHhG7GvJGIQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR10MB1875 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.486,18.0.858 definitions=2022-05-05_08:2022-05-05,2022-05-05 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 adultscore=0 bulkscore=0 phishscore=0 mlxlogscore=999 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2205050126 X-Proofpoint-GUID: AHL9hnmK6xv3v0-tqBe7B7Z7O8uFJ1RK X-Proofpoint-ORIG-GUID: AHL9hnmK6xv3v0-tqBe7B7Z7O8uFJ1RK 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 handle_hotplug_event(). Thus the CPU must be explicitly excluded when building the new list of CPUs. This change identifies in handle_hotplug_event() 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 f197af50def6..7ba43f058d82 100644 --- a/kernel/crash_core.c +++ b/kernel/crash_core.c @@ -520,6 +520,16 @@ static void handle_hotplug_event(unsigned int hp_actio= n, unsigned int cpu) /* 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) ? + cpu : KEXEC_CRASH_HP_INVALID_CPU; + /* Now invoke arch-specific update handler */ arch_crash_handle_hotplug_event(kexec_crash_image, hp_action, cpu); =20 diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c index aacdf93c3507..d68e5769b428 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) { +#if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_MEMORY_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 Sun May 10 10:32:31 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 5E592C433F5 for ; Thu, 5 May 2022 18:48:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1384790AbiEESvu (ORCPT ); Thu, 5 May 2022 14:51:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35750 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1384729AbiEESuv (ORCPT ); Thu, 5 May 2022 14:50:51 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DC80E1084 for ; Thu, 5 May 2022 11:47:10 -0700 (PDT) Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 245Gc9ZW032436; Thu, 5 May 2022 18:46:43 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=ByeK+PTtK6w9jsyLSSnAXxEdALiqHPxBeidY5M+5xHQ=; b=P6oFHJ+fgvfc5SWFnJgXU3rSSsMNl0wOgGI2smuOLZWgu7bj/C0MAnuj0IOm/KO0oIRs U1iQ08YLdxX++x8D3sRhVwnOcSqovZQoie2nX/WUNJ9Lj7d6lNMEVN/kmmOe4ksgHNd4 fsoBwJrFsw0kpm059xWUJBMmYz73BD+DvdMIE/n9ekzPolquahQ1d3i6khbH1HzRXZOC S0WxzdLADla8c2FnZULor0WrFumDHJOa36aW+KXiMxSnitfbxPP4fA1Kq+a8fOCwp0vv r907qzMcYhzQMOlGGyc8LKlTE8lTi227qYoHXmXqkdA5/IiHQumi0VUYvgisN0E0lHhg sA== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3frw0auwgb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 May 2022 18:46:42 +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 245IkdQH002992; Thu, 5 May 2022 18:46:41 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2171.outbound.protection.outlook.com [104.47.58.171]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com with ESMTP id 3fus8yet0s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 May 2022 18:46:41 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V4oj6mSnxb7EPRKfDy+IwYg/zb8LOrAGkN8b7wd6vHMffIHIgrhXPJ+eYdwyMf5YBKOKkwKCf1bu+bLFw6axXPKy46PWAyeXOirIM2tuXvMao/8vzZb1me67QTcOchv98syDz1m+AnDrzIxZKeLWMEb+C03OTPaQyazBBuPp8foBK1hVU6q0bhzKi4g4bTFEF8qKxPys/DF1YyYrda3NYsCQf4T646j8DtO5acVBW/VlT+uZceq65pOg0rLKS6e/SPaWZKbIJ0CaBRFkOQ+jpyWrj/RD6G/3jp9Zpc6VZ+0qLWSqUGeAM1GyWfh61rf7uwSpIkcBl9ubudHlKS5YwQ== 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=ByeK+PTtK6w9jsyLSSnAXxEdALiqHPxBeidY5M+5xHQ=; b=kGcJKdBys+twRy/2+5fZzmseidmLCekUjLM1AnRge5oGeTpAiVnFZApX1SBQZqtK7ZyFhQs3ZJ1gj23RfTmYJ1X3dz38kHyHJX/A3TIWV1Dl0/Ww88AIyTkrTrEmIfYHH2OfiNdreq8iSf6XJutBkw7Pj5mVifH0y81Xm2UklDqfAK/0ftqCbflvqiaIBE2QzLWTiHrK0TSVD0evxzAnwz5L8J7LNRa6t0RLFCp+SbS2Oo5pnc9wmT1AKGtkUr50HGOTbOE0Fr4uVYlSBFwLVzymrr8ClnyjBT9cRFVSUWIorbU3pd4qDmLv7Y7T9TPqy2y8/P5amzgP4PJmG0zmBA== 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=ByeK+PTtK6w9jsyLSSnAXxEdALiqHPxBeidY5M+5xHQ=; b=YX1Q5+hzodYHRnk+I3AvPltCYIK5I6MUF6m8eowNVr085vS9OSqSX3fzJPx4F9vNs8e8MzVWMt/HVKjamr2iGRM8ir0lwEOMQFEo0AV1pgt9FmeGeJxVs4FFRiQQUNFzLikx+vW88woou7s4tpgffRmPxMYXgfKUvimDn3UNZAU= Received: from SJ0PR10MB4542.namprd10.prod.outlook.com (2603:10b6:a03:2da::19) by BYAPR10MB2469.namprd10.prod.outlook.com (2603:10b6:a02:b0::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.13; Thu, 5 May 2022 18:46:39 +0000 Received: from SJ0PR10MB4542.namprd10.prod.outlook.com ([fe80::2cad:be53:725f:ba00]) by SJ0PR10MB4542.namprd10.prod.outlook.com ([fe80::2cad:be53:725f:ba00%3]) with mapi id 15.20.5206.027; Thu, 5 May 2022 18:46:39 +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 v8 6/7] x86/crash: Add x86 crash hotplug support for kexec_file_load Date: Thu, 5 May 2022 14:46:02 -0400 Message-Id: <20220505184603.1548-7-eric.devolder@oracle.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220505184603.1548-1-eric.devolder@oracle.com> References: <20220505184603.1548-1-eric.devolder@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SA9PR10CA0014.namprd10.prod.outlook.com (2603:10b6:806:a7::19) To SJ0PR10MB4542.namprd10.prod.outlook.com (2603:10b6:a03:2da::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ccd07c57-18d4-4c0c-9948-08da2ec796e3 X-MS-TrafficTypeDiagnostic: BYAPR10MB2469: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: H+FO9YatZnf9vz5TeKaEjo/Gu8CbHA2smaM0pmEjzidCyXPZ3fJpR45C4h5qviTT/wiWgdRRvGkxourJc/h4Oak6QNgs9Ha6V3o/DAFt/x40s63YOeLrnxmRYlqzCwy+QbwslkfiY6weE29on8YwbDI8AeS01vNhmHJ80OK6HYjcksedVvPepRxHKX+FW6n7I9reaGFZM3zbpJeqfruirQsBmS0xE00u+IPuNIC1oqob5jzaKPZKK39jmfmg72YRVRTC2ZxerE94foVDYmfKoSnAkLlnTNUreJNrJWtvP5HqRGVVzpq8qGHA0tUedVdPm0Rroy6IEB4lvj8t9vRzfBo0qFC08aINWFnhxXaBLplAzVz9e10EyNmGVadv/5PQKmcS1k6H/MADRXftKRS9nFnVZNaw9Plu6Xq8Yz2g5gL1xoq41fOdYR+oqRXGO5CnnTxTUJbPwpKRJeguk3OlU9NH9GZo9Njf5jx2PtEXPOJbVYjrPsylyfY5x2x6E9DqpPxDIJd6pAaJP67p87K+SNAV6G149348uexXLx1SpMsjSHT0/QCP0tddfCQvotWKj6jLqsxmszMvKBGJLXdM9dNhi1RnPsxq7R1OWQQpC3STTKB90IvtIaDPzXuKVyCIMrvumhyGbM9S46KdSAvIi9PWuH2sxgYW1EBMlG36RZZ0bFJKQDgEhRGqL+jtkSSbotwvo5m11c1bXJT+Edpsdw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR10MB4542.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(38350700002)(38100700002)(316002)(36756003)(8676002)(4326008)(66946007)(66476007)(66556008)(7416002)(26005)(6512007)(52116002)(2906002)(5660300002)(83380400001)(86362001)(2616005)(6486002)(186003)(8936002)(107886003)(508600001)(6506007)(1076003)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?5wYFQpNsOw1Aa9LK/SmKQDcGOSsbTcQH5g1bmWnHMk4UBW7Kpq5s1RlIA8Gi?= =?us-ascii?Q?3y2qoZ0YFOoE26VH19yrkrBYHrvq/b93PzcJ9p5z4ZFzeTMi8tDure5GkTXj?= =?us-ascii?Q?6tdK8mwMceWEfAsn9h2htns965mkdOkhfpTUwrme+Aw6BsaHH+eKmEF8ENp8?= =?us-ascii?Q?tFsYC1ddJuK0Lp0QMPq0/sLPIuiMUlmAhZRI9sG25BsPUh+QLg/MCpweebrT?= =?us-ascii?Q?RD00eWL9PECZbGUBomF33TlFuEquQsbI1Pn+djhtG4+CpAJSHW2I1M4X5+xf?= =?us-ascii?Q?lK8ciDAd6jkAqXC8RzgF0F4LHNJmJQvEdUdoCUM9T5Kp97Ye4Qku3SzARNC/?= =?us-ascii?Q?vbVxG5RjOZU+MFXme57Yxr8VZk0wRyQvUSfrXuU7ZuZLufKzOLQre8JhfFBg?= =?us-ascii?Q?A0/ypBgpZJp5uCTnT+QIa+FSssHL4px0y7dMDK7KRD1reMRi6h8FhvSB4LHp?= =?us-ascii?Q?DTX7hOvSo7Jn/oUbXEZgLJ9VEZliYFNhAeaIcgVoO9K+hvKyIb/cIyOvRaBr?= =?us-ascii?Q?KP7suUgw40LwXjn6gkpADuft4IwAFgzznulmMiNEAo1Kk/p/puxJdbjeZp4L?= =?us-ascii?Q?6+pTLlp9Lv3C4E9GxIyL1D7jOw0RCObXGlJHAF6pjIG4lOoQbdG7M90Gshti?= =?us-ascii?Q?p6MwQvRpoSFMFB10ys+jQpibopRtG2Jz3/ZZoYLSjotime7zh0ho7vu6c2gT?= =?us-ascii?Q?E1JJkVF9h7odeMqS6LWgD9Yp/Qj1QFYNPr4ArFmwWWzhT7AZ1AHR6hgbSNng?= =?us-ascii?Q?zaUtkM5t/wM3QZqGqagO7ytyqLZYanx7qWvvtWiJ0UuLOGAm+Gwgvj+OMXhg?= =?us-ascii?Q?/PnqeeC27k6qHrs9NEAWkYyA4by+OvM3Q9NueoIUSBxF2z0gHNMrdVa9SomA?= =?us-ascii?Q?OFoFNgSpsuiXVjxpRrofBmE0eQZMrpQI0ptJnHifCynl+1TGkdWiXo9dy03A?= =?us-ascii?Q?up7woE7HTsVynT1KjgMCze3AJ0P9Nfy9S+1RsfYlXbOzARx4eaBDidGcDL6O?= =?us-ascii?Q?asy8U1JD8NWGZ6M4mng8kjw+2GjsaHwkB1uUuKtT05xq2MQKp4J7y89LbZcQ?= =?us-ascii?Q?T79fb1nzUPiywVVmk0m6PhOu/7jIX8GkEdA/UpS2ZczyEnd3oi0TuJopoUVx?= =?us-ascii?Q?vi37cUn1ZEWEBo1QQofo6GOy+B7mNl1tzE4Cm4ZOzA6OHLkHMGxLqBv4n5nB?= =?us-ascii?Q?FCSwevLapHGdKQJp2l6dTAVkx+n78PprGtJREOFPxpfOd8J08La6kogmgkmI?= =?us-ascii?Q?jdFaos4uTQioUGndWMm2hah6G2aWX9ym/5Mnr4mP6y+y9LOeFnR6dRSqUaFa?= =?us-ascii?Q?2tXndYvAOKb43vDY802iZSTzr7yj1QDr1Nlx+nbs4hwI9oCFOUYPH6S8YYbj?= =?us-ascii?Q?0xEAfE4X5WhbK4CiTb+EYlcut9d6bjur7yVRtXkji0aXLlN/OfAkWNgsZ/ZZ?= =?us-ascii?Q?t4MahEBjECXoDBTI2cWhQfY418TQewm+tmtFVxev4fOz1Z23ZEBjvaoI/z8L?= =?us-ascii?Q?ktyXq12oQbrVLLhDOio2oSEVW5yKrEB8hWTIFpz4nigwwe41GGW7ht5AiqbP?= =?us-ascii?Q?7f76VXYIEhcGA5BPalPcBpvG4PeRHTZzytolcNokIVxkg7E3bZSxJ2y2HGTb?= =?us-ascii?Q?m/5Y0BO95aZdQ1jdyRidPFNZDyDGH0yUZ2SUyaSCsvnagVV3/hW2o7MuRFUE?= =?us-ascii?Q?7yS5f9oqreE/ZsGvn+yQSxdIpD1F+Pbu5KVYXxlBdwGL2wDIdaY8xOnKDf6p?= =?us-ascii?Q?w1pDFgtXKbf88If+gp78ECerEvLzcsM=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ccd07c57-18d4-4c0c-9948-08da2ec796e3 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB4542.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2022 18:46:39.2464 (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: 3feqtw+PcEvtnRxWU6Hin27eAB4ffpRKPpnHjSWn2GdaOk7yvuWSL9rXSdbO18fkiOZ5IQz9ZJFPZqfKoYE19fL7UCZP2PK5N6YR9Msv/5c= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR10MB2469 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.486,18.0.858 definitions=2022-05-05_08:2022-05-05,2022-05-05 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 mlxlogscore=999 adultscore=0 mlxscore=0 spamscore=0 malwarescore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2205050126 X-Proofpoint-GUID: nft_t-J2T20zOZs-UgGkdKHy2xGi5cLL X-Proofpoint-ORIG-GUID: nft_t-J2T20zOZs-UgGkdKHy2xGi5cLL 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_MAX_MEMORY_RANGES 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/Kconfig | 11 ++++ arch/x86/kernel/crash.c | 117 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 128 insertions(+) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 4bed3abf444d..bf1201fe6981 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -2072,6 +2072,17 @@ config CRASH_DUMP (CONFIG_RELOCATABLE=3Dy). For more details see Documentation/admin-guide/kdump/kdump.rst =20 +config CRASH_MAX_MEMORY_RANGES + depends on CRASH_DUMP && KEXEC_FILE && (HOTPLUG_CPU || MEMORY_HOTPLUG) + int + default 32768 + help + For the kexec_file_load path, specify the maximum number of + memory regions, eg. as represented by the 'System RAM' entries + in /proc/iomem, that the elfcorehdr buffer/segment can accommodate. + This value is combined with NR_CPUS and multiplied by Elf64_Phdr + size to determine the final buffer size. + config KEXEC_JUMP bool "kexec jump" depends on KEXEC && HIBERNATION diff --git a/arch/x86/kernel/crash.c b/arch/x86/kernel/crash.c index 9db41cce8d97..951ef365f0a7 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 +#if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_MEMORY_HOTPLUG) + /* Ensure elfcorehdr segment large enough for hotplug changes */ + kbuf.memsz =3D (CONFIG_NR_CPUS_DEFAULT + CONFIG_CRASH_MAX_MEMORY_RANGES) = * sizeof(Elf64_Phdr); + /* 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,109 @@ int crash_load_segments(struct kimage *image) return ret; } #endif /* CONFIG_KEXEC_FILE */ + +#if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_MEMORY_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_handle_hotplug_event() - Handle hotplug elfcorehdr changes + * @image: the active struct kimage + * @hp_action: the hot un/plug action being handled + * @cpu: when KEXEC_CRASH_HP_ADD/REMOVE_CPU, the cpu affected + * + * 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 the + * CONFIG_CRASH_MAX_MEMORY_RANGES description. + * 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_handle_hotplug_event(struct kimage *image, + unsigned int hp_action, unsigned int cpu) +{ + 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 --=20 2.27.0 From nobody Sun May 10 10:32:31 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 639BBC433F5 for ; Thu, 5 May 2022 18:47:28 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1384406AbiEESvD (ORCPT ); Thu, 5 May 2022 14:51:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35554 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1384755AbiEESus (ORCPT ); Thu, 5 May 2022 14:50:48 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3275CB6C for ; Thu, 5 May 2022 11:47:08 -0700 (PDT) Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 245GGqE9024988; Thu, 5 May 2022 18:46:43 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=8dqOAA1LIumH2rIT+3bQ7GbTmea1oEn0E4R4mxeFpsw=; b=yPRxh9sSyDL/+6XT9dsMeQ1UklvocYBK8OWLfzUQ1G/fnYsqx0E2dZZpc2RK/d7rYi6R 83+1nf6qsrK/TqE2qdN70ktB6dE7GwUfKfpNRJGTvMto0u5VhCmHaH4C4v5Lr/hJuRdV ZS8EqEzlL0TdFO9/I3PrXtlVZg0HvancwtFgT1nH+0wtnVH0iFezkhyiFPHhr1zn5ugB s1LhT5sOCQUF1XAPJBz7OUi/oOyyWa1kEZ+xtysUI6GYvLVy36keoUQ88/j+mn9OTtNd 8VSe4tQx/Y9+YRf30R3FQW6DXsNfnOC2GwLQdbQ12+IZooExvz9quZG1bH5Lo53OHhav qQ== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3fruw2m7x9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 May 2022 18:46:43 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 245Ijb5k016775; Thu, 5 May 2022 18:46:43 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2176.outbound.protection.outlook.com [104.47.58.176]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com with ESMTP id 3fusah5rau-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 May 2022 18:46:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E1MRvRukkQv/uGO25e3PqZRpJPxivBy2gIcExBHSC0lw2VNSMNtzNwXiXyy/QkGyRCbIQS2K5vQr8nVH8r0XtVj/QbQQ2e7WsMsBqQSCOdKIuW9Rk8qWYevdoVqO6FkWe7dEqwWlBMGR6X5ubXx6XxsKG7z6KygOR7LxxRC6umMMqLMESgAwY84EEf68tWxsJJrQFRZuwR8gL6f7AuJ027iMX9h9tJ6Ab5U1BEmfXnKugbEM9SI1HCSHHJQs44sNHIAO3mcrwJk15lB4iqfS5lMtOFo1npbLDYpxm0VG9S94bYyD+QvueE1HFo8jbXzl0/SJyE/Y6jNo/c9UtwYe3w== 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=8dqOAA1LIumH2rIT+3bQ7GbTmea1oEn0E4R4mxeFpsw=; b=Bfc1yfU/3b3ymiwcqtsoNxnxYEigFtjiGLK31sBoWFihHRsK+undiywH6xIS0THK7dDRYCQUUOjVeJvkSmS4H6pbp53GaG85WYviLAdNK5fxlhDFNBq5qkRH21yzryrVaIa/Lkv6pLeJpkpA53uj91Rc5udmmdILoApYvJeqfYFL0/25sPiZtwydNAQBMr9lz8RsYVnG1wXAPFkrz3aSaOSshxcGl/09tVWBsJAqEUZ2l0B2pftCN3VkbcjDEQFXAdUIWCFfX5KesqAmTcglfY8ek8ihW8pFAMRz8PB2yO7bmUvhF9SOoKCiy1sOpRWT7lOO443vElM3hjYNLnP4+Q== 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=8dqOAA1LIumH2rIT+3bQ7GbTmea1oEn0E4R4mxeFpsw=; b=e+SAGefvcEEONm3QbAc3UasVdMQSjAfRIwkwx2ft4lHyIXCkKdTwVk0grDNSw1wusYMPmZfW0QiWy8h8nrZgNUP8ga+KbnFDSkQTCx1CVC5J1Xwt09pnPpAuSihaaQx24xNRz+/kjXL7D/1lsi4ae3jYdaPKDFG4I87TU3PHymA= Received: from SJ0PR10MB4542.namprd10.prod.outlook.com (2603:10b6:a03:2da::19) by BYAPR10MB2469.namprd10.prod.outlook.com (2603:10b6:a02:b0::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.13; Thu, 5 May 2022 18:46:41 +0000 Received: from SJ0PR10MB4542.namprd10.prod.outlook.com ([fe80::2cad:be53:725f:ba00]) by SJ0PR10MB4542.namprd10.prod.outlook.com ([fe80::2cad:be53:725f:ba00%3]) with mapi id 15.20.5206.027; Thu, 5 May 2022 18:46:41 +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 v8 7/7] x86/crash: Add x86 crash hotplug support for kexec_load Date: Thu, 5 May 2022 14:46:03 -0400 Message-Id: <20220505184603.1548-8-eric.devolder@oracle.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220505184603.1548-1-eric.devolder@oracle.com> References: <20220505184603.1548-1-eric.devolder@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SA9PR10CA0014.namprd10.prod.outlook.com (2603:10b6:806:a7::19) To SJ0PR10MB4542.namprd10.prod.outlook.com (2603:10b6:a03:2da::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2f56530b-09d0-4093-addb-08da2ec7983e X-MS-TrafficTypeDiagnostic: BYAPR10MB2469: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: 27CQsp0Nx6gtRazSQWTEh5DRHdzneuYbWNzfqVC2tEDipM+gEgXLJ6O10vZVvwg4Kon9zMvw1RldyFyOCttkhqBaAMyf6NAkj53bS3G7LwczhdVzw/iZd6CH0CwEECg5HWoDeM3akbxAfP44lb3JhO4cPvIuuipcibwlA21ir6LudCwRtTlesQX3vKoAek1CQSiRGIMFupNWJnSmmxOZuMQnbGPKGvCmaWgiU4hqHUW03OAerRe+dZHx/u0JCJVm/695kBOGewv0SgsExDoFoWAFUjET/hm6k+ISCEtHWuOmMeLg668dAUZ58N/2DlQLDlbESMNBr1Ku1hO2nFITQWj3YjYZG7SehWCkpN+j7FF0C6RqiRkFt+TY4NVfXrhbGJCNYw3Z/8ex3Bbd3HVH1DN2R2pLz9l6f68kzGwpYQGDPRvM9R6WZENUImmUXzcxLAV4N5a++tPOLAM40bH0ZFwiOiri/84AGfKeRlqjMkGKoX58ys38pwX+1TFnjgguRsHsfRFXLv86qgshrScaIhKFMiiG0AL4TsFc474duSITCD+9eWZ5/Ugycfkzulysj8NPImdpLymRioPrKsOPXfMDKLZmgpEu7FXJWi4kh2wTojtSYqit5zPk6js8lUl/Z8VhRel+yQLioSZNWzVs6selD0DukCHrsAx0mYSLSYWcV/cJQPJO0ynpw46ABmN7pbDHtVL0LmlZZaNwkMySIA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR10MB4542.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(38350700002)(38100700002)(316002)(36756003)(8676002)(4326008)(66946007)(66476007)(66556008)(7416002)(26005)(6512007)(52116002)(2906002)(5660300002)(86362001)(2616005)(6486002)(186003)(8936002)(107886003)(508600001)(6506007)(1076003)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?MtyCZ399R38oXCtncqvOeZGE0Kp6Cvm/aF4/3AQT6BApnDwb3/NrDcBXWU2R?= =?us-ascii?Q?NaPf8jqZRFeTOZpuoTw49kixY9+xB4liK9fsaEmXReRYdTioPy0JkKHH6fLc?= =?us-ascii?Q?i7bfaANx2ti1Yrwh+bhBJ3dKAbNAd26CrvY9LLeTZRU7dIg8NIKIByjvZkMI?= =?us-ascii?Q?4ajv9PvMf2/fFJ1irwCmmMi3G/GVijDcFeIWb5gJ+k3vND/+j9MMLmpizfYE?= =?us-ascii?Q?qfb79Nst98zNnj8SEt3k/jOcOCgX8Y6FI4TxCWvaB/OTAlh8WzdiOUqcHtbY?= =?us-ascii?Q?jIej45aMD6qJhaP1XD7f06shE/AlwJLutvgMc3atCiOnTBOb3SIt1Vf4EZ9W?= =?us-ascii?Q?cioH19NX/h02JAtOxt1ylRHqYeS4khdDq6T56df9s/ohgduLjXLwUgTt5Fd1?= =?us-ascii?Q?5VrYs2ksgRnQQFumebhta1VUUdCQS4Mhq7wl40nkevemugr4OWAc2LGsV/DQ?= =?us-ascii?Q?1QwwlRpkDM8RHTJvQ0H3tBAk77JKNVf5kMHSJwEm7l579QRxbFY7te3L6wUz?= =?us-ascii?Q?RsQ/bisk/oua8oYbchqSKqEmt1k7Mnqz+S8PcSeu7etiBQnfVB02ElWDuF6m?= =?us-ascii?Q?OtOsthOKZMsNrUxTR7Ex0YEahgm49jAyi/SOx/OnGQIHnLh1fSESmdHOtoWC?= =?us-ascii?Q?Ormtbt+gkgVzJjKn6RaIGySYiPIeNo/aRqywsc0JDwTSHTo82Y42msiHrTSw?= =?us-ascii?Q?on6+TEtaXsAX16kzSJbFgm/FBnEdAomSeNxIp1gLEnWOOUZUk7vZYd11Vq0K?= =?us-ascii?Q?4qyt7XSXR9Oy73wPDYiR+S1QnXvnUpgFiq6esFHb6V5kCDIfGCTN8O/AkcYg?= =?us-ascii?Q?N+ePeWA62FrdbBEVZq+yRsnkt8/JV2g3OW6L8E41PnNmpgbEmbusJrzKYxIh?= =?us-ascii?Q?l0QNsLWyxJXUszqdwogdNPscas1sGJzCBhPC3NoQGLCCL6ZJu2euBSlQqnlL?= =?us-ascii?Q?NY2h3RIqnCI9mCKDBm012S4ESwEoumbLXQTWXXdP3mJwXlDy0nm5wYRdBu+W?= =?us-ascii?Q?04dYzMHGviu0ixhSDuq0rWryXMKqwSm6KlvSiKB2KtGZy2UBqljAtegSb0GT?= =?us-ascii?Q?UXQTJf4hdm427llUIv0JlKMH9tejecc+Yw9VOpJRJNTANOrbBwfZ7wzJtIKV?= =?us-ascii?Q?hRyGERuyC8IRRnub6k2BSh3tsXgt1bfdUNgpZEVmnXjJtoj1BbuRzuBVcl4g?= =?us-ascii?Q?Fj9Y3BWCm/k6t+zYgDAg9WZlXzspDA0Rb67u3VMgZgNUIglJAac+IYszsSBU?= =?us-ascii?Q?B1RnVjolSRoIER4RXAB6tuD5ODGlrXJDI/EoTNWduPEglbMXafBVw8Cl84g/?= =?us-ascii?Q?N0hJa6pj+c8KC8Yq8LKgnAnNZ/KpgCfy9P8IWmQL69p8N790D8UdHPEKejzi?= =?us-ascii?Q?C6bLKBPXljDwJu/ZrZEjcSRmy6+sNvsgfW9tZHdElzo93nBC2mZCVSdbskWF?= =?us-ascii?Q?hQAFFJYkrf2Vz1spd54kFsYG6THMjzgBgTCBeGapbsiBQwoLhKLvrcouoPpd?= =?us-ascii?Q?t3+R1uUll9oTo/RSU0aOY4XYXOtnVODnTJLaJ/+63Fck1UZh0j2E4kD1KozK?= =?us-ascii?Q?wnRVompcIobIIEp8YtviNReyfMQ36Qc2E1GPv60c5qPxPN6y5qQTEu+xDcsS?= =?us-ascii?Q?OHdZOyYQTWFABjNFmKYCAWleTCloBynSOQpNkZJmRgq2eloQ+ixClMUwaGJv?= =?us-ascii?Q?CLGR03inHtWnyDSUWt356lpz798fN3s619cGCFk2YAL4Bo18lKwO1aX0TQzN?= =?us-ascii?Q?836+2KMbMjfJJHQGSGfxnH/Wnompeo0=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2f56530b-09d0-4093-addb-08da2ec7983e X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB4542.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2022 18:46:41.5522 (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: KoUagmZVFls48fBDEjClLFLvR+KUY4E1Ac7FIisEcBKAGWUm+gFKRnV4KLvXG0SOrDnHeAeZTNIiPcF061yiTFgb/6cMZ87lO5iBxy4fNxI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR10MB2469 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.486,18.0.858 definitions=2022-05-05_08:2022-05-05,2022-05-05 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 adultscore=0 bulkscore=0 phishscore=0 mlxlogscore=999 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2205050126 X-Proofpoint-GUID: wkCYbTqxXKiuVJQKjbPNshI7XS59tJ7g X-Proofpoint-ORIG-GUID: wkCYbTqxXKiuVJQKjbPNshI7XS59tJ7g 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_handle_hotplug_event(), 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 951ef365f0a7..845d7c77854d 100644 --- a/arch/x86/kernel/crash.c +++ b/arch/x86/kernel/crash.c @@ -485,6 +485,30 @@ void arch_crash_handle_hotplug_event(struct kimage *im= age, 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