linux/drivers/crypto
Tycho Andersen 4b28f0846e crypto/ccp: export firmware supported vm types
In some configurations, the firmware does not support all VM types. The SEV
firmware has an entry in the TCB_VERSION structure referred to as the
Security Version Number in the SEV-SNP firmware specification and referred
to as the "SPL" in SEV firmware release notes. The SEV firmware release
notes say:

    On every SEV firmware release where a security mitigation has been
    added, the SNP SPL gets increased by 1. This is to let users know that
    it is important to update to this version.

The SEV firmware release that fixed CVE-2025-48514 by disabling SEV-ES
support on vulnerable platforms has this SVN increased to reflect the fix.
The SVN is platform-specific, as is the structure of TCB_VERSION.

Check CURRENT_TCB instead of REPORTED_TCB, since the firmware behaves with
the CURRENT_TCB SVN level and will reject SEV-ES VMs accordingly.

Parse the SVN, and mask off the SEV_ES supported VM type from the list of
supported types if it is above the per-platform threshold for the relevant
platforms.

Signed-off-by: Tycho Andersen (AMD) <tycho@kernel.org>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com>
Tested-by: Tycho Andersen (AMD) <tycho@kernel.org>
Link: https://patch.msgid.link/20260416232329.3408497-3-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
2026-05-13 09:55:53 -07:00
..
allwinner crypto: cryptomgr - Select algorithm types only when CRYPTO_SELFTESTS 2026-04-03 08:56:13 +08:00
amcc Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
amlogic crypto: drivers - Switch back to struct platform_driver::remove() 2024-10-19 08:44:30 +08:00
aspeed crypto: aspeed - Use memcpy_from_sglist() in aspeed_ahash_dma_prepare() 2026-04-03 08:56:12 +08:00
axis crypto: artpec6 - use memcpy_and_pad to simplify prepare_hash 2026-03-22 11:17:58 +09:00
bcm treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
caam This update includes the following changes: 2026-04-15 15:22:26 -07:00
cavium Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
ccp crypto/ccp: export firmware supported vm types 2026-05-13 09:55:53 -07:00
ccree crypto: ccree - fix a memory leak in cc_mac_digest() 2026-04-12 16:46:28 +08:00
chelsio Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
gemini crypto: drivers - Switch back to struct platform_driver::remove() 2024-10-19 08:44:30 +08:00
hisilicon crypto: hisilicon - Fix dma_unmap_single() direction 2026-04-12 16:46:29 +08:00
inside-secure crypto: eip93 - fix hmac setkey algo selection 2026-04-16 17:29:40 +08:00
intel crypto: qat - fix IRQ cleanup on 6xxx probe failure 2026-04-12 16:47:10 +08:00
loongson crypto: loongson - add Loongson RNG driver support 2025-09-02 12:29:57 +01:00
marvell crypto: marvell/cesa - use memcpy_and_pad in mv_cesa_ahash_export 2026-03-27 18:52:25 +09:00
nx crypto: nx - Fix packed layout in struct nx842_crypto_header 2026-03-27 18:52:43 +09:00
qce crypto: qce - simplify qce_xts_swapiv() 2026-04-12 16:46:29 +08:00
rockchip crypto: rockchip - drop redundant crypto_skcipher_ivsize() calls 2025-11-14 18:15:48 +08:00
starfive crypto: sm3 - Remove 'struct sm3_state' 2026-03-23 17:50:59 -07:00
stm32 crypto: stm32 - use list_first_entry_or_null to simplify cryp_find_dev 2026-03-27 18:52:43 +09:00
tegra This update includes the following changes: 2026-04-15 15:22:26 -07:00
ti crypto: ti - Add support for AES-CCM in DTHEv2 driver 2026-03-27 18:52:44 +09:00
virtio crypto: virtio - Convert from tasklet to BH workqueue 2026-02-28 12:54:14 +09:00
xilinx This update includes the following changes: 2026-02-10 08:36:42 -08:00
atmel-aes-regs.h
atmel-aes.c crypto: atmel-aes - guard unregister on error in atmel_aes_register_algs 2026-03-22 11:17:58 +09:00
atmel-authenc.h
atmel-ecc.c crypto: atmel-ecc - Release client on allocation failure 2026-03-07 14:12:20 +09:00
atmel-i2c.c crypto: atmel-i2c - Replace hard-coded bus clock rate with constant 2026-03-07 14:12:20 +09:00
atmel-i2c.h crypto: atmel-sha204a - add reading from otp zone 2024-05-10 17:15:25 +08:00
atmel-sha-regs.h
atmel-sha.c crypto: atmel - use list_first_entry_or_null to simplify find_dev 2026-03-15 13:23:13 +09:00
atmel-sha204a.c crypto: atmel-sha204a - Fix potential UAF and memory leak in remove path 2026-03-22 11:17:59 +09:00
atmel-tdes-regs.h
atmel-tdes.c crypto: atmel-tdes - fix DMA sync direction 2026-03-15 13:23:13 +09:00
exynos-rng.c crypto: drivers - Switch back to struct platform_driver::remove() 2024-10-19 08:44:30 +08:00
geode-aes.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
geode-aes.h
hifn_795x.c crypto: hifn_795x - Replace snprintf("%s") with strscpy 2026-04-03 08:56:11 +08:00
img-hash.c crypto: img-hash - drop redundant return variable 2026-04-03 08:56:13 +08:00
Kconfig This update includes the following changes: 2026-04-15 15:22:26 -07:00
Makefile crypto: vmx - Remove disabled build directive 2026-03-07 14:12:20 +09:00
mxs-dcp.c crypto: mxs-dcp - Only set OTP_KEY bit for OTP key 2025-03-08 16:22:23 +08:00
omap-aes-gcm.c crypto: omap - Use new AES library API 2026-01-15 14:09:08 -08:00
omap-aes.c crypto: omap - Use sysfs_emit in sysfs show functions 2026-01-30 16:09:32 +08:00
omap-aes.h crypto: omap - Use new AES library API 2026-01-15 14:09:08 -08:00
omap-crypto.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
omap-crypto.h
omap-des.c crypto: omap - convert from tasklet to BH workqueue 2025-09-13 12:11:06 +08:00
omap-sham.c crypto: omap - convert reqctx buffer to fixed-size array 2026-04-12 16:47:10 +08:00
padlock-aes.c
padlock-sha.c crypto: padlock-sha - Disable for Zhaoxin processor 2026-03-14 11:34:06 -07:00
qcom-rng.c crypto: drivers - Switch back to struct platform_driver::remove() 2024-10-19 08:44:30 +08:00
s5p-sss.c crypto: s5p-sss - use unregister_{ahashes,skciphers} in probe/remove 2026-03-27 18:52:25 +09:00
sa2ul.c crypto: sa2ul - Fix AEAD fallback algorithm names 2026-04-16 17:29:40 +08:00
sa2ul.h
sahara.c crypto: drivers - Switch back to struct platform_driver::remove() 2024-10-19 08:44:30 +08:00
talitos.c crypto: talitos - rename first/last to first_desc/last_desc 2026-04-12 16:46:29 +08:00
talitos.h