diff mbox series

arm64/crypto: Select AEAD2 for GHASH_ARM64_CE

Message ID 20220622142557.144536-1-quic_qiancai@quicinc.com (mailing list archive)
State New, archived
Headers show
Series arm64/crypto: Select AEAD2 for GHASH_ARM64_CE | expand

Commit Message

Qian Cai June 22, 2022, 2:25 p.m. UTC
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(+)

Comments

Eric Biggers June 23, 2022, 5:17 p.m. UTC | #1
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
Qian Cai June 23, 2022, 7:08 p.m. UTC | #2
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
Herbert Xu June 24, 2022, 7:59 a.m. UTC | #3
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,
diff mbox series

Patch

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)"