Message ID | 20220517033630.1182-1-gaochao49@huawei.com |
---|---|
State | New |
Headers | show |
Series | [-next] crypto: Fix build error when CRYPTO_BLAKE2S_X86=m && CRYPTO_ALGAPI2=m && CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y | expand |
Hi Eric,
Thanks for CCing me into this.
On 5/26/22, Eric Biggers <ebiggers@kernel.org> wrote:
> How about just making CRYPTO_MANAGER_EXTRA_TESTS depend on CRYPTO_ALGAPI=y?
I think this would definitely be the best option, and probably best
represents what somebody debugging / running tests has in mind.
I can send a patch for this today if you'd like.
Jason
On Thu, May 26, 2022 at 04:26:35PM +0800, Herbert Xu wrote: > On Thu, May 26, 2022 at 12:25:06AM -0700, Eric Biggers wrote: > > > > How about just making CRYPTO_MANAGER_EXTRA_TESTS depend on CRYPTO_ALGAPI=y? > > That breaks my setups with ALGAPI=m. > > > Or alternatively, move the crypto_simd_disabled_for_test variable into a file in > > lib/crypto/. But the other suggestion would be a bit simpler for now. > > Yes please do that instead. If we ever get some arch-independent > file for SIMD then we could move it over there. Actually, we were talking about getting rid of the blake2s shash before anyway, because it has no purpose. I'll make that change and send a series, which will fix the issue a different way. Jason
diff --git a/arch/x86/crypto/Makefile b/arch/x86/crypto/Makefile index 2831685adf6f..54b2469fa49a 100644 --- a/arch/x86/crypto/Makefile +++ b/arch/x86/crypto/Makefile @@ -63,7 +63,7 @@ sha512-ssse3-y := sha512-ssse3-asm.o sha512-avx-asm.o sha512-avx2-asm.o sha512_s obj-$(CONFIG_CRYPTO_BLAKE2S_X86) += blake2s-x86_64.o blake2s-x86_64-y := blake2s-shash.o -obj-$(if $(CONFIG_CRYPTO_BLAKE2S_X86),y) += libblake2s-x86_64.o +obj-$(CONFIG_CRYPTO_BLAKE2S_X86) += libblake2s-x86_64.o libblake2s-x86_64-y := blake2s-core.o blake2s-glue.o obj-$(CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL) += ghash-clmulni-intel.o diff --git a/crypto/Kconfig b/crypto/Kconfig index 19197469cfab..e61598f8f8c5 100644 --- a/crypto/Kconfig +++ b/crypto/Kconfig @@ -714,6 +714,7 @@ config CRYPTO_BLAKE2S_X86 depends on X86 && 64BIT select CRYPTO_LIB_BLAKE2S_GENERIC select CRYPTO_ARCH_HAVE_LIB_BLAKE2S + select CRYPTO_ALGAPI2 if CRYPTO_MANAGER_EXTRA_TESTS config CRYPTO_CRCT10DIF tristate "CRCT10DIF algorithm"
If CRYPTO=m, CRYPTO_ALGAPI=m, CRYPTO_ALGAPI2=m, CRYPTO_BLAKE2S_X86=m, CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y bulding fails: arch/x86/crypto/blake2s-glue.o: In function `blake2s_compress': (.text+0x5a): undefined reference to `crypto_simd_disabled_for_test' make: *** [vmlinux] Error 1 When CRYPTO_MANAGER_EXTRA_TESTS=y, blake2s_compress will call crypto_simd_disabled_for_test. When CRYPTO_ALGAPI2=m, crypto_algapi build as a module, but if CONFIG_CRYPTO_BLAKE2S_X86=m at the same time, libblake2s-x86_64.o build with obj-y, this will accuse the above error. To fix this error: 1 Choose CRYPTO_ALGAPI2 for CRYPTO_BLAKE2S_X86 when CRYPTO_MANAGER_EXTRA_TESTS=y. 2 build libblake2s-x86_64.o as a module when CONFIG_CRYPTO_BLAKE2S_X86=y Fixes: 8fc5f2ad896b ("crypto: testmgr - Move crypto_simd_disabled_for_test out") Reported-by: Hulk Robot <hulkci@huawei.com> Signed-off-by: gaochao <gaochao49@huawei.com> --- arch/x86/crypto/Makefile | 2 +- crypto/Kconfig | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) -- 2.17.1