mirror of
https://github.com/torvalds/linux.git
synced 2026-10-23 23:51:02 +02:00
lib/crypto: x86: Stop using cpu_has_xfeatures()
Checking both boot_cpu_has() and cpu_has_xfeatures() has never really been needed in practice, and it's never been universally done (e.g., lib/raid/ omits cpu_has_xfeatures()). Nevertheless, both x86 and UML now explicitly clear the AVX and AVX-512 flags if their xfeatures are missing, which should remove any remaining doubts. Thus, remove all the calls to cpu_has_xfeatures(). Signed-off-by: Eric Biggers <ebiggers@kernel.org> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Acked-by: Christoph Hellwig <hch@lst.de> Link: https://patch.msgid.link/20260901145740.42337-5-ebiggers@kernel.org
This commit is contained in:
parent
9256e0496c
commit
ffe52429f8
|
|
@ -55,8 +55,6 @@ static void blake2s_mod_init_arch(void)
|
|||
if (boot_cpu_has(X86_FEATURE_AVX) &&
|
||||
boot_cpu_has(X86_FEATURE_AVX2) &&
|
||||
boot_cpu_has(X86_FEATURE_AVX512F) &&
|
||||
boot_cpu_has(X86_FEATURE_AVX512VL) &&
|
||||
cpu_has_xfeatures(XFEATURE_MASK_SSE | XFEATURE_MASK_YMM |
|
||||
XFEATURE_MASK_AVX512, NULL))
|
||||
boot_cpu_has(X86_FEATURE_AVX512VL))
|
||||
static_branch_enable(&blake2s_use_avx512);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -165,8 +165,7 @@ static void chacha_mod_init_arch(void)
|
|||
static_branch_enable(&chacha_use_simd);
|
||||
|
||||
if (boot_cpu_has(X86_FEATURE_AVX) &&
|
||||
boot_cpu_has(X86_FEATURE_AVX2) &&
|
||||
cpu_has_xfeatures(XFEATURE_MASK_SSE | XFEATURE_MASK_YMM, NULL)) {
|
||||
boot_cpu_has(X86_FEATURE_AVX2)) {
|
||||
static_branch_enable(&chacha_use_avx2);
|
||||
|
||||
if (boot_cpu_has(X86_FEATURE_AVX512VL) &&
|
||||
|
|
|
|||
|
|
@ -37,9 +37,7 @@ static void nh_mod_init_arch(void)
|
|||
{
|
||||
if (boot_cpu_has(X86_FEATURE_XMM2)) {
|
||||
static_branch_enable(&have_sse2);
|
||||
if (boot_cpu_has(X86_FEATURE_AVX2) &&
|
||||
cpu_has_xfeatures(XFEATURE_MASK_SSE | XFEATURE_MASK_YMM,
|
||||
NULL))
|
||||
if (boot_cpu_has(X86_FEATURE_AVX2))
|
||||
static_branch_enable(&have_avx2);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -143,15 +143,12 @@ static void poly1305_emit(const struct poly1305_state *ctx,
|
|||
#define poly1305_mod_init_arch poly1305_mod_init_arch
|
||||
static void poly1305_mod_init_arch(void)
|
||||
{
|
||||
if (boot_cpu_has(X86_FEATURE_AVX) &&
|
||||
cpu_has_xfeatures(XFEATURE_MASK_SSE | XFEATURE_MASK_YMM, NULL))
|
||||
if (boot_cpu_has(X86_FEATURE_AVX))
|
||||
static_branch_enable(&poly1305_use_avx);
|
||||
if (boot_cpu_has(X86_FEATURE_AVX) && boot_cpu_has(X86_FEATURE_AVX2) &&
|
||||
cpu_has_xfeatures(XFEATURE_MASK_SSE | XFEATURE_MASK_YMM, NULL))
|
||||
if (boot_cpu_has(X86_FEATURE_AVX) && boot_cpu_has(X86_FEATURE_AVX2))
|
||||
static_branch_enable(&poly1305_use_avx2);
|
||||
if (boot_cpu_has(X86_FEATURE_AVX) && boot_cpu_has(X86_FEATURE_AVX2) &&
|
||||
boot_cpu_has(X86_FEATURE_AVX512F) &&
|
||||
cpu_has_xfeatures(XFEATURE_MASK_SSE | XFEATURE_MASK_YMM | XFEATURE_MASK_AVX512, NULL) &&
|
||||
/* Skylake downclocks unacceptably much when using zmm, but later generations are fast. */
|
||||
boot_cpu_data.x86_vfm != INTEL_SKYLAKE_X)
|
||||
static_branch_enable(&poly1305_use_avx512);
|
||||
|
|
|
|||
|
|
@ -59,9 +59,7 @@ static void sha1_mod_init_arch(void)
|
|||
{
|
||||
if (boot_cpu_has(X86_FEATURE_SHA_NI)) {
|
||||
static_call_update(sha1_blocks_x86, sha1_blocks_ni);
|
||||
} else if (cpu_has_xfeatures(XFEATURE_MASK_SSE | XFEATURE_MASK_YMM,
|
||||
NULL) &&
|
||||
boot_cpu_has(X86_FEATURE_AVX)) {
|
||||
} else if (boot_cpu_has(X86_FEATURE_AVX)) {
|
||||
if (boot_cpu_has(X86_FEATURE_AVX2) &&
|
||||
boot_cpu_has(X86_FEATURE_BMI1) &&
|
||||
boot_cpu_has(X86_FEATURE_BMI2))
|
||||
|
|
|
|||
|
|
@ -104,9 +104,7 @@ static void sha256_mod_init_arch(void)
|
|||
boot_cpu_has(X86_FEATURE_PHE_EN) &&
|
||||
boot_cpu_data.x86 >= 0x07) {
|
||||
static_call_update(sha256_blocks_x86, sha256_blocks_phe);
|
||||
} else if (cpu_has_xfeatures(XFEATURE_MASK_SSE | XFEATURE_MASK_YMM,
|
||||
NULL) &&
|
||||
boot_cpu_has(X86_FEATURE_AVX)) {
|
||||
} else if (boot_cpu_has(X86_FEATURE_AVX)) {
|
||||
if (boot_cpu_has(X86_FEATURE_AVX2) &&
|
||||
boot_cpu_has(X86_FEATURE_BMI2))
|
||||
static_call_update(sha256_blocks_x86,
|
||||
|
|
|
|||
|
|
@ -37,8 +37,7 @@ static void sha512_blocks(struct sha512_block_state *state,
|
|||
#define sha512_mod_init_arch sha512_mod_init_arch
|
||||
static void sha512_mod_init_arch(void)
|
||||
{
|
||||
if (cpu_has_xfeatures(XFEATURE_MASK_SSE | XFEATURE_MASK_YMM, NULL) &&
|
||||
boot_cpu_has(X86_FEATURE_AVX)) {
|
||||
if (boot_cpu_has(X86_FEATURE_AVX)) {
|
||||
if (boot_cpu_has(X86_FEATURE_AVX2) &&
|
||||
boot_cpu_has(X86_FEATURE_BMI2))
|
||||
static_call_update(sha512_blocks_x86,
|
||||
|
|
|
|||
|
|
@ -33,7 +33,6 @@ static void sm3_blocks(struct sm3_block_state *state,
|
|||
#define sm3_mod_init_arch sm3_mod_init_arch
|
||||
static void sm3_mod_init_arch(void)
|
||||
{
|
||||
if (boot_cpu_has(X86_FEATURE_AVX) && boot_cpu_has(X86_FEATURE_BMI2) &&
|
||||
cpu_has_xfeatures(XFEATURE_MASK_SSE | XFEATURE_MASK_YMM, NULL))
|
||||
if (boot_cpu_has(X86_FEATURE_AVX) && boot_cpu_has(X86_FEATURE_BMI2))
|
||||
static_call_update(sm3_blocks_x86, sm3_blocks_avx);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user