From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from MW6PR02CU001.outbound.protection.outlook.com (mail-westus2azon11012022.outbound.protection.outlook.com [52.101.48.22]) (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 5398D349B0D for ; Fri, 31 Jul 2026 19:15:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.48.22 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785525315; cv=fail; b=uxhucBLSWCXAH6ANhKAuh51xG2iQ41pFw/rnkRAjxXq++6b5tvimeWg+k0/JjdHinCbfrRCciaYzdvGSOGSgB8nsPpFD+wlxTdrI7rX+k8TCToLj6om7ltF3s/mNiFbG853nr4fkpM5vtuup6hoBPDl4SLVIjpvsxzBp2KvYS2g= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785525315; c=relaxed/simple; bh=ezchZFwcOOtH/Gtm6zknxQLVYcsGiXtzlsrppCy32qs=; h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To: Content-Type:MIME-Version; b=d4U6F7r2nEVxuS7cAn0ZOvJlpGzW3GZAlGzZuFazLBfEdmug10oxgPo1btEi88br60IoSQ4mnrocKznJYxE72HkFyYyM4uCWg+1dRznzyDoMWpLO+DxJM6sHElz+k6mvyCuTK/5toWyJrHlBVuoYcLzt5DQil7Jkyhi8ptcSt3c= 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=OEPkclPx; arc=fail smtp.client-ip=52.101.48.22 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="OEPkclPx" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=H23fuBJ4C6sGJ6cKZIo97VcPB0llhTRQT1MDQ2iMOGC4Dt9FKI23Cu4Ag89EiOX0GTT8NIvkLbR3oS6f63xW0hpTolBWKED9UdSmjy/9+LXel4sYwdbfjnbpUnQuVj0v6G+OUSj3JSmdgglNO6qJpawzXhrq3vtMCjeR7Yp480AEr4rbdIpt1nBIZFOimE3az6o1UpKatyrAQhkPnqRz1NtVJ2e5D6adNubVd8pv4VLKcWEVnoNITosPPGAlTYvKLE0Tg+9zMELJr8hWQhxg9C1f85es61eMVxOX87QmNGEOPHe2NdCEBPhxjkF/7XRWRyk9FgJmv1Ds8yT7LqXbKQ== 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=1vm3JMYJJ4tR52Jd8EDqZS4z8TbMECrS2LGFPXUYTys=; b=r1P/a5F3z2WtjPj0cvF/ric+yE25i5SMZRepTrqQpEW5IMMLRCOfs8SIV8KeWMRSs7TQxaS4mxUQl9RZynTGpwcKqT6Y/uoi9vjYO7Wu1KsqPaKDH9MohyFv+CeDz+AsqyPSclpXyZ35gfIjIWq+RVVVS7BU5cLjVkG/3V5RpxTp3SexBqKyGVGTJtO+4c/cBn8+vQlWLLMF+X2JTy8+T1RTNKDM/kVcTszfOYbDsO6Ru8ACunASTMbIeH8Qi1VBqZbb9iSWP9fDv7jgTFItnAytItQPOVUn/bK8qufBsoHVhtRXPLRVfC2GkjRh+ZFZijU1gd0c34kWqwBoZ7NP4w== 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=1vm3JMYJJ4tR52Jd8EDqZS4z8TbMECrS2LGFPXUYTys=; b=OEPkclPxdHtp76FerlxsqqsDlYXRoBy2ql5XepubJEKno3C/O/daTj5xlYakpxv4YI0Ku8yqOZDr1s3qFORCZPfaBp+ovJbYZbnekgMTmbmwL1jTzBZB9X0EViytsu0zwrCn9oUvpadmUHzOgytv/f/GIJ0z9X+jF7NQEq0Axq8= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from SN7PR12MB8131.namprd12.prod.outlook.com (2603:10b6:806:32d::12) by PH7PR12MB5688.namprd12.prod.outlook.com (2603:10b6:510:130::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.12; Fri, 31 Jul 2026 19:15:10 +0000 Received: from SN7PR12MB8131.namprd12.prod.outlook.com ([fe80::c2dd:62c5:67fe:aa46]) by SN7PR12MB8131.namprd12.prod.outlook.com ([fe80::c2dd:62c5:67fe:aa46%4]) with mapi id 15.21.0270.012; Fri, 31 Jul 2026 19:15:10 +0000 Message-ID: <2ac3c837-da8b-4444-9f05-b54cf79dff2b@amd.com> Date: Fri, 31 Jul 2026 14:15:08 -0500 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 5/7] x86/sev: Add a function to contain all SEV-specific setup operations To: Melody Wang , x86@kernel.org Cc: LKML , Ard Biesheuvel References: <47df4ef41f05f465d00011e9644780d90d08c6a0.1785375271.git.huibo.wang@amd.com> Content-Language: en-US From: Tom Lendacky Autocrypt: addr=thomas.lendacky@amd.com; keydata= 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 WiyqywZI5g== In-Reply-To: <47df4ef41f05f465d00011e9644780d90d08c6a0.1785375271.git.huibo.wang@amd.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: CH0PR08CA0008.namprd08.prod.outlook.com (2603:10b6:610:33::13) To SN7PR12MB8131.namprd12.prod.outlook.com (2603:10b6:806:32d::12) 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: SN7PR12MB8131:EE_|PH7PR12MB5688:EE_ X-MS-Office365-Filtering-Correlation-Id: ae3e3caa-2c01-4d61-f0a1-08deef380a6f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|23010399003|376014|366016|10067099003|11063799006|4143699003|56012099006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: CKPcmbI9A3CY9pO3m7n3go1wUlMhVLJCjd5N7wp7vZ0ZXQKjaRivpBRo6uJCbIq/AqxESBkn3A6IPRh3sIZJXsKgKU94d7JjU1iiGPwe18wlIHfrGvc/lfuYosz9Ho1QKCJha3wRP1791ajlinfyOeH0dka5NMHpfm2PPvXlR7TESPQvI+7orBgxDt0Dg9ZVDcCNlI2h0SN7bPhzunTO9SnW1latZrKGjiaIZxqGZPjQ7qrdoQAlEs4jgFPwnRT1zfAKOfQLCQimrTjsOCKnYBqr7Pvd5F2sgjy26KZiZO3AjPOIhDCvPkXc/R7aaP3XHBd392y0/vpmMZW/BnoM8A499ves+r1XjA63kYwJ3JANvf84VEYE4UcKq/qnLGCaNWvOFSdYu440HK436h2ihf4+EEC46b77x4tdNht3w4fFpSzkMkX+jh1zaFGIxMLfnCQLdWA/j3+V5ILprInKfZhqGrDrBWhhbtCb9o/B+vxjlsPF++1dsDoAnxHdKVASK/4zEdAp5QnVbmVgpB+UZwuViqn9PPRf3E6dfSu6DzSlW71SUcwdnqrRMCXpXCSRFssRvHCVOA1wej8MierHkfh9zFJLoD+VKjMCzF1kpAH5ikNkF90WmfBnfwPW0AHwCLnA35xyv6JlMXXaFKsODfpAGDUBXLxV3jN7wlcHas0= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN7PR12MB8131.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(376014)(366016)(10067099003)(11063799006)(4143699003)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NHc4NTJlWTc0MlRvT0p1RWYrQzkrakFXcjFUYld1SkVaNFlmc2lHcjBTSm94?= =?utf-8?B?d0JhMWMzbWZ4b00wU1ljUzhKcUZaNnZ6VHZLNkRRYVErWUFYeWt2a2E0TEFn?= =?utf-8?B?UDE0aXYxTVVFUjg0MEJCTVN0WkQyYk95aFRLSDcxN052eUpHU1VzcWo2cGhF?= =?utf-8?B?SVo5UjFZLzE0OG9RTnM5YzcyNlFueG1EdmJiaUhiMFplMldSNnZ2Z1JPc05H?= =?utf-8?B?MEk5ekhQeDVRWlBkaUM2QzhKRmw0NHNGcUlnelRVRmFyTi9EM0hpc1ZQUytL?= =?utf-8?B?Ykdzbit3OVJadDUrdXJJQW40c1ptTUJKKzNsRjZkWHhubVlHQWpoODBaa2kz?= =?utf-8?B?RU9XMFgrZ0VCL3EyN1Z3M2tEWnlUY1dUMXRIdm5qdmI1NUwzOGZhWEFpcG00?= =?utf-8?B?bUNlMFNDVStVZ3FiU1AyNGFUekpjdEJEamdnVUtwL0pWV3NIVndwYjlqVHNX?= =?utf-8?B?NENRODRTVWtnY1ptOUZrdEhHK3FRTUR0ZlV5ditVcXhMekpJckgwais3ZGF1?= =?utf-8?B?QVpOQnQwcEhnd0NUZWFCclhQQWJMejQ3WmtqMytPbTlqRDdDQzNiU0RRUU1h?= =?utf-8?B?N2NnUVAzT0FNZ09XSE0wcUdNS3FwdWdyS1Q5TDdlalNEbm9mNHh0dml3b2VR?= =?utf-8?B?TkpJd3hlYzIyZjJqRGNDZVVZbEJwbWl1YVNmS0U4YVVxQmN5RFFaU2pCU3M1?= =?utf-8?B?TUpVOU5jR3RxVlA3cm5oNnBZMDB0QlBHZjFwNGNUT2JCZmpWOWFNNmFCUUV1?= =?utf-8?B?YndqdTVVYm5vL1V0dGpQeFowZVpLV3hrRnpLM0RERDR0bElyMHduUVhVRVNP?= =?utf-8?B?dkxMTDJUZi9sUWpETHRSc2twWHBZdE9sRXEwVWQ4V3dVbjFISGZBK0hWMndI?= =?utf-8?B?SEF1T212bFdQQWVoVW5sbCtpK3ZlcTlUNnJJRHk3S01nM2VwREV4UnV1ZFFp?= =?utf-8?B?c1UyUWRMaWRWV2wyV05TWFRzRGlwOGJVMURPdlcxc0srRUNDRjBEMGVMS3Zz?= =?utf-8?B?TktpaVpCdnJMRTZlUDdFNkdBRWNRQ3VTR2l1SjNsQUl0eitJNW1NNWVXM1c0?= =?utf-8?B?a2cyalNIQXBzVnVXdktGcmQwSFhhZGdXampyNkdUYnhEUlJydGpheEpwTkUy?= =?utf-8?B?L2x2eHp2M1RzTTV2TEUxSjQ3b2tiSEtHWkcwbStzdFBsK3dydmU5Q3NMdXdC?= =?utf-8?B?bk4yM1lqSXc5ME83TlVvSzdOclc0VjNYbVhZRTl0Z3JqeE41YzQ1ZnhXWVp3?= =?utf-8?B?YnFtQU5YVlp1YVJhUFIzMzhZY2s2WUJleUh5T0JFY0RtdzBjck5SZU1DalVx?= =?utf-8?B?c1c2b0swUURsTUd5WWVQVU9obEJLZ2xHd29sdW83KzlrY05WK1podXNRcy96?= =?utf-8?B?M0dQczBtMm11N2VxOHpiRUR1ZXhyRFh1dFFoZ3NOTFlwYlpneWhtelNzWXVt?= =?utf-8?B?dXVzeUlxRnM3ZXFNVVVCL09MK2NYSkZKeDl4Y2xpaDhqRThmbFlyZU8xaGhI?= =?utf-8?B?bjJGdVZNaWJxKzVGb2JzU0hQeGcvWGpRVFpmejJVRWlWZUQwM3pRck1ETjlj?= =?utf-8?B?YndhdTJzcUxubjh1cmpOeGhWT05rM3ZhQSs4OUNFejJnYXdaWmoxR0QvU3k3?= =?utf-8?B?ZlRIMEFzdUJhSkkrSmlOb25LcENJemhKUXZRSnpVek1ucXNOOGIyNStNMURR?= =?utf-8?B?N2hnVEVhZFZBc3NQTHJLSG9jcTRFelc1dG9IOGxyUTBGejdUQWhlMjg5S3di?= =?utf-8?B?bDl2Q0dtdzhOaTkrRWRjZzNhQ0ZCSi9ONldQMDFXWjAza0F3MTVidXhzazhv?= =?utf-8?B?K3NBSmlaQkQxM0tvNzhkTzExRE9zLzNKTFFmUU9TekhoZTNtbmwvd2g5YlpT?= =?utf-8?B?cHlYbWhZc0hvcmVSa21rN05jd3RaOGYyUGtGYVErWklKMkxmZmhWRWg0Rzdj?= =?utf-8?B?TGlsZkJXVksyZHgwRS9JKzJrRDRrbE1WYUkzN0RQd09qWVF2UndMOEZPZDhM?= =?utf-8?B?NTBzNHR5Q2pCWllXYmkxbXl4Z2lTQjNJMWU3MzdTbCsvSlF0RHdZM1A4TGQ0?= =?utf-8?B?b3QvL3pidjV2TXQ4L0VJWGJteW1HY1E0T3RzTmNCWWVPQjl5clNhdHhoM0xk?= =?utf-8?B?azNPb0U4aUJaenFZVGcwUlVTckEyN1I2cXhoTjJjYWNOMTZINThzaEJuMWZ5?= =?utf-8?B?bCthU0lwWVdRY09MUXU2M2RwTEt4WlZIY25WMks5alRsOUR5aStkQWZOeEp3?= =?utf-8?B?dkNpMkhMTEx2MThHdnlNTUVxcTREdXFMcmxTQnpjZ2VaY3FDMUIzeTJkWkRS?= =?utf-8?Q?DoFUbcqHUm/s0Tlo2Y?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: ae3e3caa-2c01-4d61-f0a1-08deef380a6f X-MS-Exchange-CrossTenant-AuthSource: SN7PR12MB8131.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2026 19:15:10.6508 (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: jkbzCYijOV2R9dkb3LWWEAouAt2NZtbRP/wzgnAZMuNQ7bsaL1MM1C7M1G5wGEncVMvHvpfV4t0kL1j/2Zv+nQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5688 On 7/29/26 20:48, Melody Wang wrote: > To make the code clean in the boot phase, add a sev_prepare() wrapper > which contains early SEV-specific checks in order to have all that code > in a single place. > > No functional changes. I think this needs to be re-worked. Looking ahead to the next patch, if anything is later added to the prepare routine that also returns, it will all be attributed to the unsupported features. Right now you avoid that by terminating in sev_prepare() in the next patch. You might need some form of callback for error conditions or something else, but as is, I think this is too fragile. Thanks, Tom > > Signed-off-by: Melody Wang > Cc: Ard Biesheuvel > --- > arch/x86/boot/compressed/sev.c | 9 +++++++++ > arch/x86/include/asm/sev.h | 3 +++ > drivers/firmware/efi/libstub/x86-stub.c | 20 ++++++-------------- > 3 files changed, 18 insertions(+), 14 deletions(-) > > diff --git a/arch/x86/boot/compressed/sev.c b/arch/x86/boot/compressed/sev.c > index fc2029746c50..655291a03dcc 100644 > --- a/arch/x86/boot/compressed/sev.c > +++ b/arch/x86/boot/compressed/sev.c > @@ -511,3 +511,12 @@ bool early_is_sevsnp_guest(void) > } > return true; > } > + > +u64 sev_prepare(void) > +{ > + u64 unsupported = snp_get_unsupported_features(sev_get_status()); > + if (unsupported) > + return unsupported; > + > + return 0; > +} > diff --git a/arch/x86/include/asm/sev.h b/arch/x86/include/asm/sev.h > index 491a891a7694..b430c1aab403 100644 > --- a/arch/x86/include/asm/sev.h > +++ b/arch/x86/include/asm/sev.h > @@ -613,6 +613,8 @@ static inline void sev_evict_cache(void *va, int npages) > } > } > > +u64 sev_prepare(void); > + > #else /* !CONFIG_AMD_MEM_ENCRYPT */ > > #define snp_vmpl 0 > @@ -661,6 +663,7 @@ static inline enum es_result savic_register_gpa(u64 gpa) { return ES_UNSUPPORTED > static inline enum es_result savic_unregister_gpa(u64 *gpa) { return ES_UNSUPPORTED; } > static inline void hvs_ghcb_msr_write(u32 reg, u64 value) { } > static inline u64 hvs_ghcb_msr_read(u32 reg) { return 0; } > +static inline u64 sev_prepare(void) { return 0; } > > #endif /* CONFIG_AMD_MEM_ENCRYPT */ > > diff --git a/drivers/firmware/efi/libstub/x86-stub.c b/drivers/firmware/efi/libstub/x86-stub.c > index cef32e2c82d8..95fa16fc9887 100644 > --- a/drivers/firmware/efi/libstub/x86-stub.c > +++ b/drivers/firmware/efi/libstub/x86-stub.c > @@ -783,19 +783,6 @@ static efi_status_t exit_boot(struct boot_params *boot_params, void *handle) > return EFI_SUCCESS; > } > > -static bool have_unsupported_snp_features(void) > -{ > - u64 unsupported; > - > - unsupported = snp_get_unsupported_features(sev_get_status()); > - if (unsupported) { > - efi_err("Unsupported SEV-SNP features detected: 0x%llx\n", > - unsupported); > - return true; > - } > - return false; > -} > - > static void efi_get_seed(void *seed, int size) > { > efi_get_random_bytes(size, seed); > @@ -919,6 +906,7 @@ void __noreturn efi_stub_entry(efi_handle_t handle, > unsigned long kernel_entry; > struct setup_header *hdr; > efi_status_t status; > + u64 unsup_feats; > > efi_system_table = sys_table_arg; > /* Check if we were booted by the EFI firmware */ > @@ -933,8 +921,12 @@ void __noreturn efi_stub_entry(efi_handle_t handle, > > hdr = &boot_params->hdr; > > - if (have_unsupported_snp_features()) > + unsup_feats = sev_prepare(); > + if (unsup_feats) { > + efi_err("Unsupported SEV-SNP features detected: 0x%llx\n", > + unsup_feats); > efi_exit(handle, EFI_UNSUPPORTED); > + } > > if (IS_ENABLED(CONFIG_EFI_DXE_MEM_ATTRIBUTES)) { > efi_dxe_table = get_efi_config_table(EFI_DXE_SERVICES_TABLE_GUID);