From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2057.outbound.protection.outlook.com [40.107.237.57]) (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 ABA9814A617 for ; Mon, 6 Jan 2025 16:10:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.237.57 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736179842; cv=fail; b=k8obXXiAsz29++C/t3g1cwRnY4qB89FKBTGeKycJXeqLMUTij8icph1vAYmtB3rVZucvcKTuIP8diHb8RsnqXM4EfxTmoFYT5qosMdjCc9H2h4FZoKfMoNUtbu0l5OLtAeeHwm+p/fOsWIOU6br5EurdRPnNEnNafdkQJdAstys= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736179842; c=relaxed/simple; bh=GstJakILFtYrgl6ixVGuc1zYk4c40T/AfbnP4nZ8c/Y=; h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To: Content-Type:MIME-Version; b=kjx6X1UZ9cgaXaphjmhiYhU/2XspRXQItByW3BFZxouQd6+Rq2gWr+j90b4GToy3iP+isAOgRiNhVipzZ21dabNm3hNg1Gr1ALYIzF7MMP4wMpyH6DJ5g1n5HjIx2PJvrxJmzFhe/0sN2OirA9kexFtzwhfIXPWm2CC4mjr2gb4= 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=uIYNnJah; arc=fail smtp.client-ip=40.107.237.57 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="uIYNnJah" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=kRKHSIZdQldsZ4NAGDKj9oaR0vmZbbtOUZ16r+qSYhgTKqh3Pq7kFhMDFP8O3CRUcyaeFQyGanccQuyTdJVeGR8gnHpQ96CoNqXx3iEEFgnc9jDgbGMrEiBsW+xc+Mm61eTD98eotrpELslUq8KYbxGjO3A16zFgQvvQdMlMZrzAXfOSpn5kODYYwDckyHdWCMPzyWF7W7+e6AFlJvdkHXk/g4RDIkiRCrFISF67M9T4BTTEwQZ+aN1W6EmFhraR7wewdgT+rJD0hvKB4dho1SwpG1hQbAJ42v2IWZnXgp8LwzyfAxdwifkAIE2NZ9kuraJ1/G+I5hgNE4l9eYg7VQ== 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=2piQW0nGuFQjjfus1WyiKCzE1ecRmPjTrjlR8HtymDM=; b=I4xSIcnJo93qvsEEyPcR4e0oOAuld48YFYkp3cxHeQJjfp/jvAmf4f61+CbL7seA3f+G/hXn+RYzlAf72YZCdk3lwQJOYiW5FO9zeU6aqkOQypj/fBKXgOBXMNds4X4L8jIg3VHxnqzO44rksIE719h6ctWPAAN9kSCDV5jacoD3YanVOYJqpAzYselE/r9wcxLKBpSNkpiBI3F9eqToWtCuXdqmBe9FL24IgE9svmINyhvOciWvzq/LeME1EsqmsKxHSa9S/YnCWMIIK0aBQvefxFIK3duK0lZGOHDX0PLCJRmIbmPK9QmfyqiN2hSVgHMszTMFuQNWFUXf08zJ0Q== 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=2piQW0nGuFQjjfus1WyiKCzE1ecRmPjTrjlR8HtymDM=; b=uIYNnJahwQ+Uny4hfmeK5OqP4LrHShUTYRVJUXqzQ7MfZaR5gnORp18wlMhEH/BQ1p3ihXJr4eNRNvMfDwauFREzRR14/eEeGqWKMvZ1uCGOiBxhnbSJpAfUgPeb2FjOxltURfluDUr7497l+g0WcnPz0UcSo5NopKi+yFrXTtE= 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 DS7PR12MB6141.namprd12.prod.outlook.com (2603:10b6:8:9b::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8314.16; Mon, 6 Jan 2025 16:10:33 +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 16:10:33 +0000 Message-ID: <11b301d0-d944-a4a2-62e2-8dbc9e37a478@amd.com> Date: Mon, 6 Jan 2025 10:10:31 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [PATCH] x86/sev: Don't hang but terminate on failure to remap SVSM CA Content-Language: en-US To: Ard Biesheuvel , linux-kernel@vger.kernel.org Cc: x86@kernel.org, Ard Biesheuvel References: <20250106155745.281221-2-ardb+git@google.com> From: Tom Lendacky In-Reply-To: <20250106155745.281221-2-ardb+git@google.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SN6PR08CA0024.namprd08.prod.outlook.com (2603:10b6:805:66::37) 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_|DS7PR12MB6141:EE_ X-MS-Office365-Filtering-Correlation-Id: 84464d8b-6f06-408a-2cdf-08dd2e6ca5dd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?B?SHRFb0VEVzJvOEV5NDduUDF5cE0zaEMweisyc2UwbVM4S1dyZlNrRzF4b1Rq?= =?utf-8?B?WnJKd1hONEhtTGs1NWlNcDZDUG5Vc000TE8xZTVJYzRFOE9WK0JrVUcydE1F?= =?utf-8?B?TWpuSDJOZHNTS0JSN3pqZFlJRG0zbThDTk5KbUJVdVVYS2dqOXBmUFJyZE1L?= =?utf-8?B?OWZLWW5lcDYrbU5kdUo3SndjcDRDaDhMTWFwMmEyWERrT1pkS2pWbEFYdXBx?= =?utf-8?B?Q25hTGluT3RVUXlhcXZNUEVxeEpNb25kRFdSaitGZTQvK3ArSk5YcTlSWHVQ?= =?utf-8?B?OTFLaGp5Z0FUbEZBNHNDTnJ6dFlHRWxJRklnZGtqUGxQWWIxSnQ2bllSc1p6?= =?utf-8?B?M2dCa3VTNTJsc3E2Slk0bUdtb2NxeWo5SEQ4SmI0YWRKSk95ZVBRcTE2QUNB?= =?utf-8?B?UzE3UXZ4QmQ4ZGVhdFY3RmozeW15azBhdjhxOXFFK3FMZUV2emF3M2JneVhL?= =?utf-8?B?SnVZT1pMd2plYUhxZUdXOTQwNENKQU12MlVZYTg4UVFBNU80bnQyUEtxVUJO?= =?utf-8?B?NkovRHUyUndrKzQ4dytKM1k0b2ZyS3pKelFVaUtIQmlOZFFtTERBQUsrQ3Vj?= =?utf-8?B?SWRNODYzcnhoenMvcFhlT0c4YXdxaHdnNEcvc29JdXVoZ0hrTzdJeGFDTkdy?= =?utf-8?B?MlhVNzNZbGxvUFlZaE9FZmRUMWVpNW1kUGRLL1d5bE53bW9MR29pQi9tNkVy?= =?utf-8?B?N1E4NGFQemVQaVZqb1VaVU9PL3d1NXh6aHVmbnlVZUNMOGJJVHhaRlVxQnVt?= =?utf-8?B?Y1djOW9aeDIvTTh0ZktnTEx6aUxNOUZ3YW5PMWtNWjJ5aUJxZWZjWFRqU1dt?= =?utf-8?B?MWgxYzh0QlVtdVhneEpzQlJzZUtCUXZXc3lXZ1diM0ZrUVpnUTAyendpbys0?= =?utf-8?B?VlZmU2JrV0M3UUZ1U0lGY2lRakpBaERvcUNjWTNDNmxDT3crZmVuOEhCZWl6?= =?utf-8?B?M0xiKzJSdWE0VVNSZFFEQ2F0OTFOeEhPbzZQcnNrdWlqczRyWUhxMlBmZzRV?= =?utf-8?B?OXo1clVlR1FGcXRIMXZiaE5JcjFreVVQTWYya1JRQi9UbHhQZmhNOGNtVVpx?= =?utf-8?B?WE5zSDJrdHdseitLeWFlUWN6OHVINU9jaC82d2RXcGd0WkRMd3FRbkMrT1F3?= =?utf-8?B?N2dNYXNMNWUvVno2N3AwM2huUU50WmxpV2RuVEZlY3VOaW1jUC9ZZXVmK1I3?= =?utf-8?B?THhlbHBZeHRQKzJXcnB6Z204RWswcklISmJTUk1oQ1lxME84VmVWZHRnZVRI?= =?utf-8?B?TTFTdlhpWkQ3M3ZsTVBENGRmamhaMW43RFdlaUJlNWNEY1dydEhCVTR6cWlW?= =?utf-8?B?VDNlejEzQklYQVpkRG84VG8yVVV4QzYvenJXY09JQXczTkNkNk5henZIN1Rz?= =?utf-8?B?cWphMlZIV01ZK2duOWx4MFV6Z3JtQnVRMjRBYnpyUS84cjZJWWJNL2J6QnFD?= =?utf-8?B?MHI4b2NZVHpmN0lXenpxaDZ2TnZCM3dMSnNFblE0bjQrMmt5SkJLdVJPUXlv?= =?utf-8?B?dHhhWGcxV2dNNWloR2ZYOW94UDkzSzBnaDFiVGRSSTJkRkxyQWRzcU5QRytE?= =?utf-8?B?YWFMMUY2TUtrekxoY2JOZTJYdkhTcFE2QVRCcDFVZUZReEtsZ1Z5aHU4alZq?= =?utf-8?B?ZXlBNHlDSmtvZXRWY1c0bkFxcTdVNFNnVEVGMTh1a252REFZamNUc0EwY055?= =?utf-8?B?NzlISkw4VUhaMmJhbzFSUmJYL255eVJ5bmZsQ2xLcmtvTWNkckdqOEczUk56?= =?utf-8?B?LzQ4SmR0eWFPdXdOeXpPYzQ1UklkRlFVbitFQzhMUzJEK1EvZWZaMEY4K3Jq?= =?utf-8?B?UUdtK3pHaG5jdGx1Rk5TQ2ZRTFJXdS9MaEZrY1JnMnJHNGpNMHRNMWwyTW5W?= =?utf-8?Q?sxVSxIMLA5lJz?= 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)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZlMweXBBdjU2alMycXRFUld0L0ozd1Jzci9VYUVnRkNDNGlrRG4raitwSWd2?= =?utf-8?B?NVhFNk0wQ3IyNGQ4bmlTQ1NJN1ZVK1RTZ0o1NHhjZTlOZ3NpcnpFcURZd0F6?= =?utf-8?B?YmJoNXRoZUlKQUllNEV2a01tSXh0NHpmZk0wY2xLeWdlc2p6RzFPMjVseWda?= =?utf-8?B?YnNYWUZ5dVU2THBUVGFsY0hMai9GOVZkRTFNemYrOXlLVkdzNHpQbVhuZHFa?= =?utf-8?B?c0RoUWovOVZWZzdERXVIWFVpNFRQMUhaVTBHdVhVaDZ6ZFllKzB6bFVKQ0pR?= =?utf-8?B?bFlQUFo2TksyczdVQVR6MWYvMHBNdmV4Z2tweGM1WExrWEg1NzBha1FqVnZN?= =?utf-8?B?aTF0Zk43MG1PS3REK0pXekhQbEEzU0kvWUJiQ1dIWlhCNUJPVEx5WkNUdnpm?= =?utf-8?B?WVg3NG1HMWpWcW9ob3luUHZTSGFONSswYVIrSGJMdFZ6WDdCbWNxZm51RU85?= =?utf-8?B?MmZkbXloN1FadiswZ2szZnhxRjdWdFU3UXRGNmlTbE5QUk0wTjdXRFpacmlr?= =?utf-8?B?OUlIWDN3Q1IvWmpLbkJGbTFtS0RLNlJhZlRjSjhOS2NtOWg5WXNqVXpPcjFt?= =?utf-8?B?eXcvdnpjOEt1RUZCanpmSkpNdzJLdjA3aHFKUWhUK3RseDdYSnoxdUtBblpH?= =?utf-8?B?emd6K2x6aDVCOW5nY2NSaU53dHdIWkdGQWZLcVRoYWRMQUdlSFV1QzBPUWs4?= =?utf-8?B?ejlUWUtWUFdKVFkybnhwb1Z5RXJPS0lJSndJV1ROM1NrNlN4Qnk3M0pGU05Q?= =?utf-8?B?SFVHaW83UEs5ZGs1YU5hSkZaVW42K0RwUzJPLy9IcmpBMDJXNnMyc2gyZnYv?= =?utf-8?B?N3RjUFE2b3ZZVzVsM3pkcHUzZ0dnVzF6NGpjRUFYaWpNYUhHOW9sKzdVaXlP?= =?utf-8?B?MXAxRXhHVUc0RDU5VnUweEw2bFN6RUt1Z2JsMFpwNjdWTlJTMldNREhsd2wv?= =?utf-8?B?ZzkyUGhCNU5rcFRlK0lBajNxZ0MrdVhwMTlRSnZ1WWk1a25wRHVWeDdNK1Zi?= =?utf-8?B?ZWcwT0xOZHg1V2MxK1I1dmVveWplZjcwVHIvb1h1czdmTkdoOEFnSjBDb0Ja?= =?utf-8?B?c093bkk2bTJ4MVVTMFQ1UGVkd2tnYzZjZ2JhMFprTEIrc2NQR1VxRHJ3eTBu?= =?utf-8?B?RDZjRkVLeDNYSXF5aWtUSitXQjlwQS9nOHo2RFNHQVZuVGI5ZHZhN1k0anFa?= =?utf-8?B?MFgrNGUwdzBzY0RlOWdJUko5RDk5Z3N0VXpzOHJRb2VzYWlpMzJXT3c5V0FM?= =?utf-8?B?L0VOdnN2TVBnT213Wk9hVUszTG42b3RJb2NjN2o1M3ovWkg1bUNxKzFDTE9H?= =?utf-8?B?dHdERFRqVVUwdWxkQUNkNUh6VUhBWHZEc3U2dGllUW5IUkVUM2tJWHc4Mm9W?= =?utf-8?B?TXhkTHFiTU9EYTE0VGwyNk4xZFZYVEd5ZUJWb3RSdm1mcFd6STlNRGd1WXZk?= =?utf-8?B?aXZFTVo5QmFpM3VPcEVoWnN1TnZYSWN3RGRtQk01WDZ3WEt6OWh6WXVjQXFk?= =?utf-8?B?WU9ubHdOSjhrN2xSZG90SWVIa2RoRUppV3FpZEtoWmcybDMxOS9zQW9xcUE4?= =?utf-8?B?VFBkc0QwemsxYTY3Zkd3cWVBbGs5QlhIS3BzMHo1UGNLaUE4SEhsQXV0Y09U?= =?utf-8?B?WVNlUDZjd0N2U2xWdGdCalVybjkzb2g2bmNIajk5ejBaSXlER0hybzVnakxN?= =?utf-8?B?Vi9oalA2Q0pGZXhnVE5EclVUZWR4eERvd2FaQjJIYnBJVFVWUng2TWRQeit1?= =?utf-8?B?cmsraXdMUlo3dGdyM2NmOVZjd0tQNlAvbG4vQ0xZMkhRU01SS3EvdVk1anQr?= =?utf-8?B?VC8wSkc2TEJjY3hyU1lGMHp6RkZRVjZ5MHJWOFlybUxwYU5MU2hqMUhZd0FC?= =?utf-8?B?MlFEUFA1d1pKNE40WnZtbGM2a09WajZ4WDR2aFBGYWE5MExhQjhGaklHR0xu?= =?utf-8?B?WUozNXdhTDBkOVNCcVB5LzAzdlpBaWVET1RxSUJNa21LWEZIU0ltOFpDakRF?= =?utf-8?B?SEUzTEV0b0l0cUxpcFR2SDhieEU2V1pESUE2L2xkb3F4WG1TVGVzUlRlWEpU?= =?utf-8?B?VVA2aExUc2tUS2IrTGs4b2VROElQTkxBcDRNZElrZllZQlh4YlZXVmt2bGJo?= =?utf-8?Q?w8xbjHagB5E/YJRSrVvpG1Jdw?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 84464d8b-6f06-408a-2cdf-08dd2e6ca5dd X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5070.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jan 2025 16:10:33.1988 (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: 6GkeqgJIciQyzLr8l48y7uawvooFZg+JRwig6ziDwi783ZP39ibGl7JZsJV2f1ZjDHay3UjNK1k+w9wv5lUkFA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6141 On 1/6/25 09:57, Ard Biesheuvel wrote: > From: Ard Biesheuvel > > Commit > > 09d35045cd0f ("x86/sev: Avoid WARN()s and panic()s in early boot code") > > replaced a panic() that could potentially hit before the kernel is even > mapped with a deadloop, to ensure that execution does not proceed when > the condition in question hits. > > As Tom suggests, it is better to terminate and return to the hypervisor > in this case, using a newly invented failure code to describe the > failure condition. > > Suggested-by: Tom Lendacky > Link: https://lore.kernel.org/all/9ce88603-20ca-e644-2d8a-aeeaf79cde69@amd.com > Signed-off-by: Ard Biesheuvel Sorry Ard, I hadn't realized that the series was already merged or I would have submitted the patch myself. Thanks for doing this! Reviewed-by: Tom Lendacky > --- > arch/x86/coco/sev/core.c | 4 ++-- > arch/x86/include/asm/sev-common.h | 1 + > 2 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/coco/sev/core.c b/arch/x86/coco/sev/core.c > index 499b41953e3c..86898547056e 100644 > --- a/arch/x86/coco/sev/core.c > +++ b/arch/x86/coco/sev/core.c > @@ -2356,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); > - while (ret) > - cpu_relax(); /* too early to panic */ > + if (ret) > + sev_es_terminate(SEV_TERM_SET_LINUX, GHCB_TERM_SVSM_CA_REMAP_FAIL); > > RIP_REL_REF(boot_svsm_caa) = (struct svsm_ca *)pa; > RIP_REL_REF(boot_svsm_caa_pa) = pa; > diff --git a/arch/x86/include/asm/sev-common.h b/arch/x86/include/asm/sev-common.h > index 50f5666938c0..577b64dda8b4 100644 > --- a/arch/x86/include/asm/sev-common.h > +++ b/arch/x86/include/asm/sev-common.h > @@ -206,6 +206,7 @@ struct snp_psc_desc { > #define GHCB_TERM_NO_SVSM 7 /* SVSM is not advertised in the secrets page */ > #define GHCB_TERM_SVSM_VMPL0 8 /* SVSM is present but has set VMPL to 0 */ > #define GHCB_TERM_SVSM_CAA 9 /* SVSM is present but CAA is not page aligned */ > +#define GHCB_TERM_SVSM_CA_REMAP_FAIL 10 /* SVSM is present but CA could not be remapped */ > > #define GHCB_RESP_CODE(v) ((v) & GHCB_MSR_INFO_MASK) >