From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2054.outbound.protection.outlook.com [40.107.92.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 82489155389 for ; Mon, 6 Jan 2025 15:23:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.92.54 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736177014; cv=fail; b=TW2812Ef38as/z7uYKxQSWue0XQzSylPLvIWckjl5MiTYn0N1Kx95IDiD9IjMH4KD+1FCPGXrjkqFtiuKYuAKlnZNTZmnRDuX7G7defGTHO4HSphmqOMOCcLAI/04p4M59t5a+uZdUXQ4oM6icMAOdsD8VHSAuHtYWdnxTPFFxo= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736177014; c=relaxed/simple; bh=/quL5EF4hGhj2V8qs3jq1es4Wu52otBrv/OjxhSuq1Y=; h=Message-ID:Date:To:Cc:References:From:Subject:In-Reply-To: Content-Type:MIME-Version; b=EFpAVirzCsLkWeuP9zu8EbMIjShj55eRX55yUk4JQm+KymXI8+FHSlYs1SEZKe4LU22mBCV7MSo3Ve5FmQCtZVE1nXqLhDeGR1p23cKmAlNZkOyJ7x/NpiTzn+rsHwBWmfbnExngbZbCJNpf5C5yIOfHSLyEnhsHyGFsPY6oft8= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=28w2coKl; arc=fail smtp.client-ip=40.107.92.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="28w2coKl" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pkh8LiVfWtVIiTt6iunmhiiHpSbxJJ+A+R/zvPUnDVwKdB7Fx0P9vkyBK6ay2vUXH04HGuUIj7ntoeRkyPxoBxTzwNGbxqjwvFuvEvXsE3yJXf9/+gCQ0Ghjxidxhy6f7KXOMjanf7ZhTdbBd5ErQ5kiyteH6oxfIH3HC/q9emri3a2gYOt31zBS9A0lPh4w1Msp+8TuzfWvyYf2M3GgJC3cNHKo3SPQP+y+lkRCP8z7X4ar6qZRZ72j8nJOdbk2nWk3QIYNsnJYKAOLsNllrZuh3nQ3QmIr2fqcZzzFPt28+ebk0sJPLR2aHCiYlE9llI2qtUNvCziMddbYLRWQHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=gWodYZ+I9LKFqNvn0Rm+66YW4JSuG47LkFBM4ygnj8g=; b=CJ1/Ae+zF8UrB9ycvvwVWLR+5TAPcTi9NvyS9SGhRDFRzP54SGFJyGkvYQAJTOAiGHK0sKlSi91BDL2Fum2xnce0Li5mMBqR8lLK1TOS9dcOerDpaxbV0QE0aO+q7fhM6TefPSQu/lIyAFOlWuBzhlx085RqobBXr/PRH/T0ybN556HeGK1MiXE0NWHDUhUpeMtx9eGqIrxlFf0P3Ug+dn/B2xoPIe2Krrbb1XUnwOaYDWwOIVtzosy5QCJdRclyelAGGejsXDGP20fUJI2l8I8J2zxOLcp5JdfvHZDfakbiWgJbEFNCCZOWj4ZoNpbMmt2vkgQOq9LYzGRi1hkRfg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gWodYZ+I9LKFqNvn0Rm+66YW4JSuG47LkFBM4ygnj8g=; b=28w2coKlvto8BDdlukl5eHfAXmQtcoWIKO62K5EUYV3My0ruxIa5o04f1zRXW6VCcWPleCxBSkOihL1RCnzb3NhGpOssj/xi8HfS+0R7oUnx7sLbJfboRs39fCpttPdRNL/xb36NcxeKpfgvheQIbvKK2G9eUw27P+eGZQeZVLY= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from DM4PR12MB5070.namprd12.prod.outlook.com (2603:10b6:5:389::22) by SA1PR12MB7128.namprd12.prod.outlook.com (2603:10b6:806:29c::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8314.17; Mon, 6 Jan 2025 15:23:24 +0000 Received: from DM4PR12MB5070.namprd12.prod.outlook.com ([fe80::20a9:919e:fd6b:5a6e]) by DM4PR12MB5070.namprd12.prod.outlook.com ([fe80::20a9:919e:fd6b:5a6e%5]) with mapi id 15.20.8314.018; Mon, 6 Jan 2025 15:23:24 +0000 Message-ID: <9ce88603-20ca-e644-2d8a-aeeaf79cde69@amd.com> Date: Mon, 6 Jan 2025 09:23:22 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 To: Ard Biesheuvel , linux-kernel@vger.kernel.org Cc: x86@kernel.org, Ard Biesheuvel , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , Andy Lutomirski , Arnd Bergmann , Kees Cook , Brian Gerst , Kevin Loughlin References: <20241205112804.3416920-9-ardb+git@google.com> <20241205112804.3416920-10-ardb+git@google.com> Content-Language: en-US From: Tom Lendacky Subject: Re: [PATCH v4 1/7] x86/sev: Avoid WARN()s and panic()s in early boot code In-Reply-To: <20241205112804.3416920-10-ardb+git@google.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SN7PR04CA0118.namprd04.prod.outlook.com (2603:10b6:806:122::33) To DM4PR12MB5070.namprd12.prod.outlook.com (2603:10b6:5:389::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR12MB5070:EE_|SA1PR12MB7128:EE_ X-MS-Office365-Filtering-Correlation-Id: 9cd0099a-311a-41ed-3378-08dd2e660fa4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?B?MWVOOUpOR21LNUtocDNyY1RGTTJkbEVySjl1VVR1NG5CK1ZLRmNLamYybG81?= =?utf-8?B?NEQ4blN0Y0l3NlNpL253Qkx0TWFnYWdUZGVqWi8wQnhucWgyc1pMSlBuYWxU?= =?utf-8?B?STFaQThjSTFNUTZqMnlqNE1XbjBsNEVGdnN6MUNjRjBaTS9kRU9nVy8yaU01?= =?utf-8?B?ODNGc21XbnFLMmZQOVVWbi9XWHVPcFZVZE5CYUkvRkFGbUJwS1dOLzJFT3Bz?= =?utf-8?B?QlFpQ1hGOUZxVldoVkY0aTJUVHI5dUtUNnZUZVluREp5NjgxOGk4ZkJpNTI3?= =?utf-8?B?aWJXV09CUXZQSTFHM0krQUJRS3Q0Rlc5c29YSXN4TGV2SzRTWkE4SWZaVFM2?= =?utf-8?B?T1RRd1JFYzFTTmtObTd0Wis0THpIeXpUVGFBbyt1eElYeXhLTnVYdEk4dUU2?= =?utf-8?B?Ym1GcFJNZW0waFNDUDdmMStBRXJJdldUbFc4ZXhGbm5EbWl6b0xSK1ZYSjhz?= =?utf-8?B?R0JQeHlieG1nNTJFQUkxdENDWFBicmNDWTlDUEExTkZ1QkduY3E2NVVRQU1O?= =?utf-8?B?N3JIT2h6VTRoRjJ0Z1RRMit4K1ZqRE4xOEFyRnFiUzcyZHRiaXlBVWZNR3JI?= =?utf-8?B?UzBCam9SY24wU0I0UmxpMGo4eGh3aVBRaDE3c0wvUVIzU1JZQnBuQ1Y4WHRy?= =?utf-8?B?c0VmVXMvYXpLci95QnRPOGsvNGgwengwNXNHR21Mdlc1NjlnRUw2MnBITmU1?= =?utf-8?B?Tk93d0NvVThaNVd2STd6d1VkYTUvVnJLLzFjRFFLL0hlTGpseGwyTlZKMS9l?= =?utf-8?B?eU1XRFZDM3JSckFDRWpqamlBY1IydnhIdHp0bENtdmIvbVo0cjdkbWhtNTN2?= =?utf-8?B?dnNCMmFteFJmZUVwemdEVVBTWDR5RWx5TG5OS3pCR09NaEI2UzBFL3h3TDVO?= =?utf-8?B?NWFaK3Q2WWFtSjM3QWZCam1zUmtFOEhtM2NFZEJFNXJmMnlGZm5lbjRIaXE4?= =?utf-8?B?ZkxodnpYK1VkcjJOUFd5T05LL04rNUNvaHh0M1Q0Z0VzdTVLaGV1eUdWWlRz?= =?utf-8?B?Ukh4TGRUTVFzNnVmeEFHYktLY29Ic29qeTFhRGFoRjNQdVBrNkNlSGV6aGF0?= =?utf-8?B?NHhWdS9WTkdzRGVoRXpDajNSMHZFTVRmbThWVzgzemhTcExXSlhIeFZjblFN?= =?utf-8?B?eU9qS2pTNHhmb0k5NW50VUZtdjlyMW9aTXhIUnFKM0JxZWlETkZoMzNBM2NL?= =?utf-8?B?TTJvbjVOQ1RvUkVCeE9JM01tTFNqSTVkcVd5ODRiUmtvU0FSOW12dS9tam1P?= =?utf-8?B?S01vTlYyL1k1RFhPcnFkN1VRbC9kRDlNWnZBWFJKVlhtSHJ0SXFxeStSN3RC?= =?utf-8?B?VWtJS1VlbCtrZzBDRkEzOEFCL0hIeTRxZjV1YnVuWmdXc20wTnVqSzZPcU1q?= =?utf-8?B?cmd1NEI3R3BUdGt1aUZZUll4TEdHcCs2bTZSRjhUb3ZBeUVWdDk0cjhOZ0pW?= =?utf-8?B?QVRydkE5Wlh3cGI2b0F4RkI1ViswRktLRG9vbHhSVTZOemI3dFdPbkh4d0dp?= =?utf-8?B?SGRYRkNvYlhZTFhxK2ZSRm5XVmVaSEY5QjlQL1NNbzVPVHRHbm8wdmhVb293?= =?utf-8?B?ZS9CR3dUZVpHS1VRR2ZSL1BCQTdIbkhWem92eG5ONlpDRWNHWlpyYkJ3aXgx?= =?utf-8?B?T1dmYlozY0lCaWl1UDF3RnNKM3hxSkQ3N0JVYkQwM0FtNXhrTW5mWjRhMnJw?= =?utf-8?B?Z0NtWWMzMjd1d0ZKTE5KZFRFKy92K2J6UDhhQU5pOFh0bm15c212enFDT0FS?= =?utf-8?B?dnJiV29BUGZPdzg5MWhDWG9BNTR4SVk0ZjdWUytxcDBrWjIxVVpJcUtNakZx?= =?utf-8?B?NXErWFFLTysrNDQvaDBTUT09?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR12MB5070.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OWhVUHpnQWwvNnEvczZvbHN6RkhMNUlYRjZBVkZyVUkxVkxHZk5aUHZmZVZh?= =?utf-8?B?SlRaUTBDUkJKa092dng1U1hrWDlaSEtsN3lJRmtPMHQ5WkowcE05dXY1bjha?= =?utf-8?B?Ynk3aUhWUlUvNGtVODRCcTNKeVJJV3dUTVBHNStYMjZ0dzhkUmsrd0xDcUtW?= =?utf-8?B?TTl2aklHLzhwUzVpUitsMTM5eVowK1RPb3ZHSjhMWlZyVEVPRXlWakhOdVl3?= =?utf-8?B?Q0hIWEgwWHhKdXpLWXRERE5ibDEzOWhWTFMrdWVIR1E4d0JsdVI5aXR3Rk5E?= =?utf-8?B?Rm9ocGErcVBSRi9wLzF3dVluT1RLaExjSHl6NmlNZkl4N0hyOW52MGdXdTdR?= =?utf-8?B?RmdTTWlCb2ptVTM4NENZZ2NRNXpxVGdnWExxNnduR0lWb1luQWxzOXk1UWhQ?= =?utf-8?B?cm8wSDR2eEpyT3VsK2hlQkM1TENNZGx0TjRWSzFEc3IzV21GZkNKUTZZUVdt?= =?utf-8?B?UmJYZllPR2F3eGgxMlhZNGhNZGdLdjNJOWJWV1Q1MXF3ZVkyV0NEM3k4RzFp?= =?utf-8?B?S251bzhaMmpaS3ZsakE5bE5LZGtjRm1DakRJdExUY0xtckdxTHZ5V1UySWZB?= =?utf-8?B?NFozMnVmd1V3dHFSRUJIZmpiS0dDNU9ybHRwTTlITkljTU5xNEdaWDNYK1FV?= =?utf-8?B?dnFNRFFhUHpJYVU0QzZzV1hCdVBDRnBjTGNFVW5TTFdDMTVFOTF6Uk1NN2du?= =?utf-8?B?alA1alFERXJpVUtpV2wyZ2xTQXBQWWVkYTFLckRSdHpqSmhzOWxmRHNWWXAx?= =?utf-8?B?RlBoNGsxMU1WclRpU0NnMzI2alFmb244N2ptRmE1WUdGb1dTVk9XaUw3THkz?= =?utf-8?B?MmNNOVo5NzIvRUtRL0hYbjVIdjFJZjlTTDlZUUVYblM2ZFFsOXY3bXBjMGM3?= =?utf-8?B?a2k5QVF2R3Nvb21SSzVocGQvdWVObGN3UTdiOWkxanJZejV4QUJIT20yM0ZC?= =?utf-8?B?Y3ZQOU5vazBqV3ZQNXgydERHdVQvZ0hkK25OK1lSNmlOZkZQeFREWGcxMWJr?= =?utf-8?B?QU9ZM1ZzWXVFR1JVYkhpTEM4c2ZCNUVNdmhyelhQT2ZDcXEybHo2Z3BnWUd3?= =?utf-8?B?YVpsWllDT0lGSG96S2VteHBPOXF0THRadlB2M2RLVExMVHFiZWpOSXgrK3Y5?= =?utf-8?B?TVdTUkEza3NXY25sSGp3VnBmNDVyWWZqLzFjbzM1aHNPdHlJcmFwN2QrM2p6?= =?utf-8?B?TTRzWG9QVlphdkVoUXY0T1hvYkpna01DamUzciszNlhkaWd3d0hvVGh5bXdx?= =?utf-8?B?UHdpSldRaGtwMXZDU01scjFUTXVSNG8zdmMxUVNaYnArWTJhVkRFWnkxaXpr?= =?utf-8?B?MlpWQ3lMZm0zSmVrRlRjU0laaGtKMVIrUitSQXpUcUd6bUlQRno4S0xsVVZa?= =?utf-8?B?N3d0d05lSnlqTlNacjR2Y21Ic2Z6RnNQaStGVTFNS1hWTjB5dTlpWEtIY1Vk?= =?utf-8?B?RDhjb2xEMU5BRlhJcDZ5SDYyRE1SY1dsOWljaHJZWkdxOStIUy9QQ253YTRm?= =?utf-8?B?VmJZVFJLd2FyS2I1bHJ4aSt0dHQrTE1jV1k0VTV4aXlPSzlub0RSVG40SWJo?= =?utf-8?B?cTlJd2t1MU9kZlZVWERBM3BzMERyMUVZUk5sdStBNmk1Z0NRQzB4NFcwZ3Zh?= =?utf-8?B?STN5T2JPUERKTUMzeEpYSmpyV2psKytheVNBNVVYNmZaVzcvYXhXdWJxMUc3?= =?utf-8?B?eE5ZbTQ4YWJ5eWlDSlVuelZFdjVkN0YvamlidVJndVJtbndkQlpCNk9neHpj?= =?utf-8?B?aHZjcEVaKzErd09CUHdSVjFicmp3NDhuN2dnZEJPUVNwY1Y0Yk9zcjRhdUJK?= =?utf-8?B?eG5veUVFTFc4NUorTXMvRjB5TnFvVjhKVGtrU3lQQ0w4aGN1ZzFHWkUyS3Rv?= =?utf-8?B?Nms3cDlSaVBlMXkxOWw0bHlsTDN6UFhyTXNxR2lCbDV4dFZnQ3h0L2hWcmZ2?= =?utf-8?B?MFlyQmVXWVlrVWJMNGVzdk9kV201bklTUWwwZVIrZUlQQ24wcXRRL25mSW8x?= =?utf-8?B?Yjg5QXVUS3diM1laejFFQ0NSVUYvZ1pRZ2VLczdJRi9JYU1iQlhLNUJsZ0xO?= =?utf-8?B?V3VEWktabFhmb21qQU50YWd1NkwyVVhiT3NrbDU0dFdOTkN4bjVwdGs2NlVn?= =?utf-8?Q?FZBJcpIAqosU70k2IP+s6t5O+?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9cd0099a-311a-41ed-3378-08dd2e660fa4 X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5070.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jan 2025 15:23:24.2432 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 5G/VjjHKe/iWJLPKdqo20mec2b8+N9m0OHJz39TbbUi4HNP9wpZawzBL2XxCvVbpzJludDm3IoOeGu7VkMmeAA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7128 On 12/5/24 05:28, Ard Biesheuvel wrote: > From: Ard Biesheuvel > > Using WARN() or panic() while executing from the early 1:1 mapping is > unlikely to do anything useful: the string literals are passed using > their kernel virtual addresses which are not even mapped yet. But even > if they were, calling into the printk() machinery from the early 1:1 > mapped code is not going to get very far. > > So drop the WARN()s entirely, and replace panic() with a deadloop. > > Link: https://lore.kernel.org/all/6904c198-9047-14bb-858e-38b531589379@amd.com/T/#u > Signed-off-by: Ard Biesheuvel > --- > arch/x86/coco/sev/core.c | 15 +++++---------- > arch/x86/coco/sev/shared.c | 9 +++++---- > 2 files changed, 10 insertions(+), 14 deletions(-) > > diff --git a/arch/x86/coco/sev/core.c b/arch/x86/coco/sev/core.c > index c5b0148b8c0a..499b41953e3c 100644 > --- a/arch/x86/coco/sev/core.c > +++ b/arch/x86/coco/sev/core.c > @@ -777,15 +777,10 @@ early_set_pages_state(unsigned long vaddr, unsigned long paddr, > > val = sev_es_rd_ghcb_msr(); > > - if (WARN(GHCB_RESP_CODE(val) != GHCB_MSR_PSC_RESP, > - "Wrong PSC response code: 0x%x\n", > - (unsigned int)GHCB_RESP_CODE(val))) > + if (GHCB_RESP_CODE(val) != GHCB_MSR_PSC_RESP) > goto e_term; > > - if (WARN(GHCB_MSR_PSC_RESP_VAL(val), > - "Failed to change page state to '%s' paddr 0x%lx error 0x%llx\n", > - op == SNP_PAGE_STATE_PRIVATE ? "private" : "shared", > - paddr, GHCB_MSR_PSC_RESP_VAL(val))) > + if (GHCB_MSR_PSC_RESP_VAL(val)) > goto e_term; > > /* Page validation must be performed after changing to private */ > @@ -821,7 +816,7 @@ void __head early_snp_set_memory_private(unsigned long vaddr, unsigned long padd > early_set_pages_state(vaddr, paddr, npages, SNP_PAGE_STATE_PRIVATE); > } > > -void __init early_snp_set_memory_shared(unsigned long vaddr, unsigned long paddr, > +void __head early_snp_set_memory_shared(unsigned long vaddr, unsigned long paddr, > unsigned long npages) > { > /* > @@ -2361,8 +2356,8 @@ static __head void svsm_setup(struct cc_blob_sev_info *cc_info) > call.rax = SVSM_CORE_CALL(SVSM_CORE_REMAP_CA); > call.rcx = pa; > ret = svsm_perform_call_protocol(&call); > - if (ret) > - panic("Can't remap the SVSM CA, ret=%d, rax_out=0x%llx\n", ret, call.rax_out); > + while (ret) > + cpu_relax(); /* too early to panic */ We should give some indication of the error and call sev_es_terminate() here with a new reason code, something like: sev_es_terminate(SEV_TERM_SET_LINUX, GHCB_TERM_SVSM_CA_REMAP_FAIL); Thanks, Tom > > RIP_REL_REF(boot_svsm_caa) = (struct svsm_ca *)pa; > RIP_REL_REF(boot_svsm_caa_pa) = pa; > diff --git a/arch/x86/coco/sev/shared.c b/arch/x86/coco/sev/shared.c > index 71de53194089..afb7ffc355fe 100644 > --- a/arch/x86/coco/sev/shared.c > +++ b/arch/x86/coco/sev/shared.c > @@ -1243,7 +1243,7 @@ static void svsm_pval_terminate(struct svsm_pvalidate_call *pc, int ret, u64 svs > __pval_terminate(pfn, action, page_size, ret, svsm_ret); > } > > -static void svsm_pval_4k_page(unsigned long paddr, bool validate) > +static void __head svsm_pval_4k_page(unsigned long paddr, bool validate) > { > struct svsm_pvalidate_call *pc; > struct svsm_call call = {}; > @@ -1275,12 +1275,13 @@ static void svsm_pval_4k_page(unsigned long paddr, bool validate) > > ret = svsm_perform_call_protocol(&call); > if (ret) > - svsm_pval_terminate(pc, ret, call.rax_out); > + sev_es_terminate(SEV_TERM_SET_LINUX, GHCB_TERM_PVALIDATE); > > native_local_irq_restore(flags); > } > > -static void pvalidate_4k_page(unsigned long vaddr, unsigned long paddr, bool validate) > +static void __head pvalidate_4k_page(unsigned long vaddr, unsigned long paddr, > + bool validate) > { > int ret; > > @@ -1293,7 +1294,7 @@ static void pvalidate_4k_page(unsigned long vaddr, unsigned long paddr, bool val > } else { > ret = pvalidate(vaddr, RMP_PG_SIZE_4K, validate); > if (ret) > - __pval_terminate(PHYS_PFN(paddr), validate, RMP_PG_SIZE_4K, ret, 0); > + sev_es_terminate(SEV_TERM_SET_LINUX, GHCB_TERM_PVALIDATE); > } > } >