Re: [PATCH v2 1/3] crypto: padlock-sha: Matches CPU with Family with 6 explicitly

From: Tony W Wang-oc
Date: Wed Jan 31 2024 - 05:03:36 EST



On 2024/1/24 00:33, Dave Hansen wrote:

[这封邮件来自外部发件人 谨防风险]

On 1/22/24 18:28, Tony W Wang-oc wrote:
Updates the supporting qualification for packlock-sha driver, making
it support CPUs whose vendor ID is Centaur and Famliy is 6.
This changelog isn't telling us very much. *Why* is this a good change?

diff --git a/drivers/crypto/padlock-sha.c b/drivers/crypto/padlock-sha.c
index 6865c7f1fc1a..2e82c5e77f7a 100644
--- a/drivers/crypto/padlock-sha.c
+++ b/drivers/crypto/padlock-sha.c
@@ -491,7 +491,7 @@ static struct shash_alg sha256_alg_nano = {
};

static const struct x86_cpu_id padlock_sha_ids[] = {
- X86_MATCH_FEATURE(X86_FEATURE_PHE, NULL),
+ X86_MATCH_VENDOR_FAM_FEATURE(CENTAUR, 6, X86_FEATURE_PHE, NULL),
{}
};
Logically, this is saying that there are non-CENTAUR or non-family-6
CPUs that set X86_FEATURE_PHE, but don't support X86_FEATURE_PHE. Is
that the case?

Not exactly.

Zhaoxin CPU supports X86_FEATURE_PHE and X86_FEATURE_PHE2.

We expect the Zhaoxin CPU to use the zhaoxin_sha driver introduced in the third patch of this patch set.

Without this patch Zhaoxin CPU will also match the padlock-sha driver too.


The one Intel use of X86_MATCH_VENDOR_FAM_FEATURE() also looks a bit
suspect, btw.