2022-06-22 14:29:58

by Qian Cai

[permalink] [raw]
Subject: [PATCH] arm64/crypto: Select AEAD2 for GHASH_ARM64_CE

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 <[email protected]>
---
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


2022-06-23 18:06:08

by Eric Biggers

[permalink] [raw]
Subject: Re: [PATCH] arm64/crypto: Select AEAD2 for GHASH_ARM64_CE

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

2022-06-23 19:41:17

by Qian Cai

[permalink] [raw]
Subject: Re: [PATCH] arm64/crypto: Select AEAD2 for GHASH_ARM64_CE

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

2022-06-24 08:04:11

by Herbert Xu

[permalink] [raw]
Subject: Re: [PATCH] arm64/crypto: Select AEAD2 for GHASH_ARM64_CE

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 <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt