[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20220329031553.798-4-mario.limonciello@amd.com>
Date: Mon, 28 Mar 2022 22:15:53 -0500
From: Mario Limonciello <mario.limonciello@....com>
To: Tom Lendacky <thomas.lendacky@....com>,
John Allen <john.allen@....com>,
Herbert Xu <herbert@...dor.apana.org.au>,
"David S . Miller" <davem@...emloft.net>
CC: open list <linux-kernel@...r.kernel.org>,
"open list:AMD CRYPTOGRAPHIC COPROCESSOR (CCP) DRIVER"
<linux-crypto@...r.kernel.org>,
Kerneis Gabriel <Gabriel.Kerneis@....gouv.fr>,
Richard Hughes <hughsient@...il.com>,
"Mario Limonciello" <mario.limonciello@....com>
Subject: [PATCH 4/4] crypto: ccp: When TSME and SME both detected notify user
The SME flag 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@....com>
---
drivers/crypto/ccp/psp-dev.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/crypto/ccp/psp-dev.c b/drivers/crypto/ccp/psp-dev.c
index 3f47b2d81e3c..0e3f1a332d61 100644
--- a/drivers/crypto/ccp/psp-dev.c
+++ b/drivers/crypto/ccp/psp-dev.c
@@ -74,6 +74,13 @@ static unsigned int psp_get_capability(struct psp_device *psp)
}
psp->capability = val;
+
+ /* Detect TSME / SME both enabled */
+ if (psp->capability & PSP_CAPABILITY_PSP_SECURITY_REPORTING &&
+ psp->capability & (PSP_SECURITY_TSME_STATUS << PSP_CAPABILITY_PSP_SECURITY_OFFSET) &&
+ boot_cpu_has(X86_FEATURE_SME))
+ dev_notice(psp->dev, "psp: TSME was enabled by the BIOS and SME was enabled by the kernel, this is unnecessary.\n");
+
return 0;
}
--
2.34.1
Powered by blists - more mailing lists