[PATCH] arm64/crypto: Select AEAD2 for GHASH_ARM64_CE

Qian Cai posted 1 patch 3 years, 10 months ago
arch/arm64/crypto/Kconfig | 1 +
1 file changed, 1 insertion(+)
[PATCH] arm64/crypto: Select AEAD2 for GHASH_ARM64_CE
Posted by Qian Cai 3 years, 10 months ago
Otherwise, we could fail to compile.

ld: arch/arm64/crypto/ghash-ce-glue.o: in function 'ghash_ce_mod_exit':
ghash-ce-glue.c:(.exit.text+0x24): undefined reference to 'crypto_unregister_aead'
ld: arch/arm64/crypto/ghash-ce-glue.o: in function 'ghash_ce_mod_init':
ghash-ce-glue.c:(.init.text+0x34): undefined reference to 'crypto_register_aead'

Fixes: 37b6aab68fae ("crypto: arm64/ghash - drop PMULL based shash")
Signed-off-by: Qian Cai <quic_qiancai@quicinc.com>
---
 arch/arm64/crypto/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/crypto/Kconfig b/arch/arm64/crypto/Kconfig
index 4391a463abd7..6b2ecc193bc0 100644
--- a/arch/arm64/crypto/Kconfig
+++ b/arch/arm64/crypto/Kconfig
@@ -71,6 +71,7 @@ config CRYPTO_GHASH_ARM64_CE
 	select CRYPTO_HASH
 	select CRYPTO_GF128MUL
 	select CRYPTO_LIB_AES
+	select CRYPTO_AEAD2
 
 config CRYPTO_POLYVAL_ARM64_CE
 	tristate "POLYVAL using ARMv8 Crypto Extensions (for HCTR2)"
-- 
2.34.1
Re: [PATCH] arm64/crypto: Select AEAD2 for GHASH_ARM64_CE
Posted by Eric Biggers 3 years, 10 months ago
On Wed, Jun 22, 2022 at 10:25:57AM -0400, Qian Cai wrote:
> Otherwise, we could fail to compile.
> 
> ld: arch/arm64/crypto/ghash-ce-glue.o: in function 'ghash_ce_mod_exit':
> ghash-ce-glue.c:(.exit.text+0x24): undefined reference to 'crypto_unregister_aead'
> ld: arch/arm64/crypto/ghash-ce-glue.o: in function 'ghash_ce_mod_init':
> ghash-ce-glue.c:(.init.text+0x34): undefined reference to 'crypto_register_aead'
> 
> Fixes: 37b6aab68fae ("crypto: arm64/ghash - drop PMULL based shash")

I don't see how the Fixes commit is related.  Hasn't this been a problem since
commit 537c1445ab0b, which added an AEAD algorithm to this module?

> diff --git a/arch/arm64/crypto/Kconfig b/arch/arm64/crypto/Kconfig
> index 4391a463abd7..6b2ecc193bc0 100644
> --- a/arch/arm64/crypto/Kconfig
> +++ b/arch/arm64/crypto/Kconfig
> @@ -71,6 +71,7 @@ config CRYPTO_GHASH_ARM64_CE
>  	select CRYPTO_HASH
>  	select CRYPTO_GF128MUL
>  	select CRYPTO_LIB_AES
> +	select CRYPTO_AEAD2

I don't think CRYPTO_AEAD2 is meant to be selected directly.  It should be
CRYPTO_AEAD instead.

- Eric
Re: [PATCH] arm64/crypto: Select AEAD2 for GHASH_ARM64_CE
Posted by Qian Cai 3 years, 10 months ago
On Thu, Jun 23, 2022 at 10:17:19AM -0700, Eric Biggers wrote:
> On Wed, Jun 22, 2022 at 10:25:57AM -0400, Qian Cai wrote:
> > Otherwise, we could fail to compile.
> > 
> > ld: arch/arm64/crypto/ghash-ce-glue.o: in function 'ghash_ce_mod_exit':
> > ghash-ce-glue.c:(.exit.text+0x24): undefined reference to 'crypto_unregister_aead'
> > ld: arch/arm64/crypto/ghash-ce-glue.o: in function 'ghash_ce_mod_init':
> > ghash-ce-glue.c:(.init.text+0x34): undefined reference to 'crypto_register_aead'
> > 
> > Fixes: 37b6aab68fae ("crypto: arm64/ghash - drop PMULL based shash")
> 
> I don't see how the Fixes commit is related.  Hasn't this been a problem since
> commit 537c1445ab0b, which added an AEAD algorithm to this module?

Ah, you are probably right. crypto_unregister_aead and crypto_register_aead
are already there in the previous commit.

> 
> > diff --git a/arch/arm64/crypto/Kconfig b/arch/arm64/crypto/Kconfig
> > index 4391a463abd7..6b2ecc193bc0 100644
> > --- a/arch/arm64/crypto/Kconfig
> > +++ b/arch/arm64/crypto/Kconfig
> > @@ -71,6 +71,7 @@ config CRYPTO_GHASH_ARM64_CE
> >  	select CRYPTO_HASH
> >  	select CRYPTO_GF128MUL
> >  	select CRYPTO_LIB_AES
> > +	select CRYPTO_AEAD2
> 
> I don't think CRYPTO_AEAD2 is meant to be selected directly.  It should be
> CRYPTO_AEAD instead.

I am not sure about that. I chose CRYPTO_AEAD2 because that is in the
Makefile.

obj-$(CONFIG_CRYPTO_AEAD2) += aead.o
Re: [PATCH] arm64/crypto: Select AEAD2 for GHASH_ARM64_CE
Posted by Herbert Xu 3 years, 9 months ago
On Thu, Jun 23, 2022 at 03:08:32PM -0400, Qian Cai wrote:
>
> I am not sure about that. I chose CRYPTO_AEAD2 because that is in the
> Makefile.
> 
> obj-$(CONFIG_CRYPTO_AEAD2) += aead.o

As Eric said, AEAD2 is for internal use only and the correct option
for general use is CONFIG_CRYPTO_AEAD.

Thanks,
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt