android_kernel_xiaomi_sm8450/drivers/crypto
Brijesh Singh 6cae39f457 crypto: ccp - shutdown SEV firmware on kexec
commit 5441a07a127f106c9936e4f9fa1a8a93e3f31828 upstream.

The commit 97f9ac3db6 ("crypto: ccp - Add support for SEV-ES to the
PSP driver") added support to allocate Trusted Memory Region (TMR)
used during the SEV-ES firmware initialization. The TMR gets locked
during the firmware initialization and unlocked during the shutdown.
While the TMR is locked, access to it is disallowed.

Currently, the CCP driver does not shutdown the firmware during the
kexec reboot, leaving the TMR memory locked.

Register a callback to shutdown the SEV firmware on the kexec boot.

Fixes: 97f9ac3db6 ("crypto: ccp - Add support for SEV-ES to the PSP driver")
Reported-by: Lucas Nussbaum <lucas.nussbaum@inria.fr>
Tested-by: Lucas Nussbaum <lucas.nussbaum@inria.fr>
Cc: <stable@kernel.org>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Joerg Roedel <jroedel@suse.de>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: David Rientjes <rientjes@google.com>
Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
Acked-by: Tom Lendacky <thomas.lendacky@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-09-18 13:40:09 +02:00
..
allwinner crypto: sun8i-ss - Fix memory leak of pad 2021-05-14 09:50:17 +02:00
amcc crypto: crypto4xx - Replace bitwise OR with logical OR in crypto4xx_build_pd 2020-12-30 11:53:17 +01:00
amlogic crypto: amlogic - Convert to DEFINE_SHOW_ATTRIBUTE 2020-09-25 17:48:16 +10:00
axis treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
bcm crypto: bcm - Rename struct device_private to bcm_device_private 2021-03-04 11:37:40 +01:00
caam crypto: caam - fix printing on xts fallback allocation error path 2020-12-30 11:53:03 +01:00
cavium crypto: nitrox - fix unchecked variable in nitrox_register_interrupts 2021-07-14 16:56:06 +02:00
ccp crypto: ccp - shutdown SEV firmware on kexec 2021-09-18 13:40:09 +02:00
ccree crypto: ccree - Simplify with dev_err_probe() 2020-09-04 17:57:16 +10:00
chelsio crypto: chelsio - Read rxchannel-id from firmware 2021-05-14 09:50:19 +02:00
hisilicon crypto: hisilicon/sec - fixup 3des minimum key size declaration 2021-07-14 16:55:53 +02:00
inside-secure crypto: inside-secure - Fix sizeof() mismatch 2020-12-30 11:53:00 +01:00
marvell crypto: marvel/cesa - Fix tdma descriptor on 64-bit 2021-02-03 23:28:40 +01:00
mediatek crypto: mediatek - simplify the return expression of mtk_dfe_dse_reset() 2020-10-02 18:02:10 +10:00
nx crypto: nx - Fix RCU warning in nx842_OF_upd_status 2021-07-14 16:56:10 +02:00
qat crypto: qat - use proper type for vf_mask 2021-09-15 09:50:29 +02:00
qce crypto: qce - fix error return code in qce_skcipher_async_req_handle() 2021-07-14 16:56:54 +02:00
rockchip crypto: algapi - Remove skbuff.h inclusion 2020-08-20 14:04:28 +10:00
stm32 crypto: stm32/cryp - Fix PM reference leak on stm32-cryp.c 2021-05-11 14:47:21 +02:00
ux500 crypto: ux500 - Fix error return code in hash_hw_final() 2021-07-14 16:56:03 +02:00
virtio crypto: virtio - don't use 'default m' 2020-08-21 14:47:50 +10:00
vmx powerpc: Replace HTTP links with HTTPS ones 2020-07-22 00:01:23 +10:00
xilinx crypto: algapi - Remove skbuff.h inclusion 2020-08-20 14:04:28 +10:00
atmel-aes-regs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atmel-aes.c crypto: atmel-aes - convert to use be32_add_cpu() 2020-09-25 17:48:12 +10:00
atmel-authenc.h crypto: remove propagation of CRYPTO_TFM_RES_* flags 2020-01-09 11:30:53 +08:00
atmel-ecc.c mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
atmel-i2c.c crypto: atmel-i2c - Fix wakeup fail 2020-03-20 14:36:51 +11:00
atmel-i2c.h crypto: atmel - Fix -Wunused-const-variable warning 2019-08-30 18:05:31 +10:00
atmel-sha204a.c crypto: atmel-sha204a - Use device-managed registration API 2019-08-02 14:43:59 +10:00
atmel-sha-regs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atmel-sha.c crypto: lib/sha1 - remove unnecessary includes of linux/cryptohash.h 2020-05-08 15:32:17 +10:00
atmel-tdes-regs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atmel-tdes.c crypto: atmel-tdes - use semicolons rather than commas to separate statements 2020-10-02 18:02:15 +10:00
exynos-rng.c crypto: exynos - use devm_platform_ioremap_resource() to simplify code 2019-08-09 15:11:59 +10:00
geode-aes.c crypto: remove propagation of CRYPTO_TFM_RES_* flags 2020-01-09 11:30:53 +08:00
geode-aes.h crypto: geode-aes - convert to skcipher API and make thread-safe 2019-10-23 19:46:56 +11:00
hifn_795x.c crypto: drivers - use semicolons rather than commas to separate statements 2020-10-02 18:02:15 +10:00
img-hash.c crypto: algapi - Remove skbuff.h inclusion 2020-08-20 14:04:28 +10:00
ixp4xx_crypto.c crypto: ixp4xx - update IV after requests 2021-07-14 16:56:03 +02:00
Kconfig crypto: omap-sham - Fix link error without crypto-engine 2021-01-27 11:55:06 +01:00
Makefile crypto: sa2ul - Add crypto driver 2020-07-23 17:34:16 +10:00
mxs-dcp.c crypto: mxs-dcp - Check for DMA mapping errors 2021-09-15 09:50:24 +02:00
n2_asm.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
n2_core.c crypto: n2 - Fix sparse endianness warning 2020-09-18 17:20:12 +10:00
n2_core.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
omap-aes-gcm.c crypto: omap-aes - avoid spamming console with self tests 2020-06-04 22:03:39 +10:00
omap-aes.c crypto: omap - Fix inconsistent locking of device lists 2021-09-15 09:50:26 +02:00
omap-aes.h crypto: omap-aes - permit asynchronous skcipher as fallback 2020-07-16 21:49:02 +10:00
omap-crypto.c crypto: omap-crypto - fix userspace copied buffer access 2020-06-04 22:03:40 +10:00
omap-crypto.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
omap-des.c crypto: omap - Fix inconsistent locking of device lists 2021-09-15 09:50:26 +02:00
omap-sham.c crypto: omap - Fix inconsistent locking of device lists 2021-09-15 09:50:26 +02:00
padlock-aes.c crypto: algapi - Remove skbuff.h inclusion 2020-08-20 14:04:28 +10:00
padlock-sha.c crypto: Convert to new CPU match macros 2020-03-24 21:36:06 +01:00
picoxcell_crypto_regs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
picoxcell_crypto.c crypto: picoxcell - Fix potential race condition bug 2020-08-21 14:47:50 +10:00
qcom-rng.c crypto: algapi - Remove skbuff.h inclusion 2020-08-20 14:04:28 +10:00
s5p-sss.c crypto: s5p-sss - Pass error from clk_get and reduce verbosity on deferral 2020-09-11 14:39:17 +10:00
sa2ul.c crypto: sa2ul - Fix pm_runtime enable in sa_ul_probe() 2021-07-14 16:56:04 +02:00
sa2ul.h crypto: sa2ul - Add AEAD algorithm support 2020-07-23 17:34:17 +10:00
sahara.c crypto: algapi - Remove skbuff.h inclusion 2020-08-20 14:04:28 +10:00
talitos.c crypto: talitos - Fix ctr(aes) on SEC1 2021-03-04 11:37:45 +01:00
talitos.h crypto: talitos - Work around SEC6 ERRATA (AES-CTR mode data size error) 2021-03-04 11:37:45 +01:00