Re: [PATCH -next] crypto: hisilicon: select CRYPTO_LIB_DES while compiling SEC driver

From: Jonathan Cameron
Date: Tue Aug 27 2019 - 08:57:49 EST


On Mon, 26 Aug 2019 19:59:14 +0800
Mao Wenan <maowenan@xxxxxxxxxx> wrote:

> When CRYPTO_DEV_HISI_SEC=y, below compilation error is found after
> 'commit 894b68d8be4b ("crypto: hisilicon/des - switch to new verification routines")':
>
> drivers/crypto/hisilicon/sec/sec_algs.o: In function `sec_alg_skcipher_setkey_des_cbc':
> sec_algs.c:(.text+0x11f0): undefined reference to `des_expand_key'
> drivers/crypto/hisilicon/sec/sec_algs.o: In function `sec_alg_skcipher_setkey_des_ecb':
> sec_algs.c:(.text+0x1390): undefined reference to `des_expand_key'
> make: *** [vmlinux] Error 1
>
> This because DES library has been moved to lib/crypto in this commit
> '04007b0e6cbb ("crypto: des - split off DES library from generic DES cipher driver")'.
> Fix this by selecting CRYPTO_LIB_DES in CRYPTO_DEV_HISI_SEC.
>
> Fixes: 915e4e8413da ("crypto: hisilicon - SEC security accelerator driver")
> Fixes: 04007b0e6cbb ("crypto: des - split off DES library from generic DES cipher driver")
> Fixes: 894b68d8be4b ("crypto: hisilicon/des - switch to new verification routines")
>
> Signed-off-by: Mao Wenan <maowenan@xxxxxxxxxx>

Ah. It's that that third one that really introduced the dependency so possibly
only that one should be listed with a fixes tag. However the right fix
at that point was to select CRYPTO_DES which then changed to CRYPTO_LIB_DES
only after the second patch.

It's not a fix for the first patch so that should probably not be there.

Otherwise, looks correct to me.

Acked-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>

thanks,

Jonathan



> ---
> drivers/crypto/hisilicon/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/crypto/hisilicon/Kconfig b/drivers/crypto/hisilicon/Kconfig
> index fa8aa06..ebaf91e 100644
> --- a/drivers/crypto/hisilicon/Kconfig
> +++ b/drivers/crypto/hisilicon/Kconfig
> @@ -4,6 +4,7 @@ config CRYPTO_DEV_HISI_SEC
> tristate "Support for Hisilicon SEC crypto block cipher accelerator"
> select CRYPTO_BLKCIPHER
> select CRYPTO_ALGAPI
> + select CRYPTO_LIB_DES
> select SG_SPLIT
> depends on ARM64 || COMPILE_TEST
> depends on HAS_IOMEM