summaryrefslogtreecommitdiff
path: root/drivers/crypto
diff options
context:
space:
mode:
authorMario Limonciello <mario.limonciello@amd.com>2022-04-01 00:12:13 +0300
committerHerbert Xu <herbert@gondor.apana.org.au>2022-04-08 11:26:43 +0300
commit4e2c87949f2b9909d3daa8d9cd4b6d5077b6e0c2 (patch)
treeafe5b7e8153040f17982eb763d0e73def00fc0d9 /drivers/crypto
parent84ee393b1e82628ac7f183d8a68d8ac2cf0ed876 (diff)
downloadlinux-4e2c87949f2b9909d3daa8d9cd4b6d5077b6e0c2.tar.xz
crypto: ccp - When TSME and SME both detected notify user
CC_ATTR_HOST_MEM_ENCRYPT is used to relay that memory encryption has been activated by the kernel. As it's technically possible to enable both SME and TSME at the same time, detect this scenario and notify the user that enabling TSME and SME at the same time is unnecessary. Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> Acked-by: Tom Lendacky <thomas.lendacky@amd.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto')
-rw-r--r--drivers/crypto/ccp/psp-dev.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/crypto/ccp/psp-dev.c b/drivers/crypto/ccp/psp-dev.c
index a3b7b5130be4..c9c741ac8442 100644
--- a/drivers/crypto/ccp/psp-dev.c
+++ b/drivers/crypto/ccp/psp-dev.c
@@ -74,6 +74,12 @@ static unsigned int psp_get_capability(struct psp_device *psp)
}
psp->capability = val;
+ /* Detect if TSME and SME are both enabled */
+ if (psp->capability & PSP_CAPABILITY_PSP_SECURITY_REPORTING &&
+ psp->capability & (PSP_SECURITY_TSME_STATUS << PSP_CAPABILITY_PSP_SECURITY_OFFSET) &&
+ cc_platform_has(CC_ATTR_HOST_MEM_ENCRYPT))
+ dev_notice(psp->dev, "psp: Both TSME and SME are active, SME is unnecessary when TSME is active.\n");
+
return 0;
}