2019-08-27 12:58:38

by Jonathan Cameron

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

On Mon, 26 Aug 2019 19:59:14 +0800
Mao Wenan <[email protected]> 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 <[email protected]>

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

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



2019-08-28 05:48:29

by Mao Wenan

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



On 2019/8/27 20:57, Jonathan Cameron wrote:
> On Mon, 26 Aug 2019 19:59:14 +0800
> Mao Wenan <[email protected]> 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 <[email protected]>
>
> 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.

Thanks, that's right, I will send v2 and keep two fixes,
Fixes: 04007b0e6cbb ("crypto: des - split off DES library from generic DES cipher driver")
Fixes: 894b68d8be4b ("crypto: hisilicon/des - switch to new verification routines")

then remove fix tag because it only introduces one driver:
Fixes: 915e4e8413da ("crypto: hisilicon - SEC security accelerator driver")

>
> Otherwise, looks correct to me.
>
> Acked-by: Jonathan Cameron <[email protected]>
>
> 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
>
>
>
> .
>

2019-08-28 08:05:06

by Mao Wenan

[permalink] [raw]
Subject: [PATCH v2 -next] crypto: hisilicon: select CRYPTO_LIB_DES while compiling SEC driver

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: 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 <[email protected]>
Acked-by: Jonathan Cameron <[email protected]>
---
v2: remove fix tag 915e4e8413da ("crypto: hisilicon - SEC security accelerator driver")
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
--
2.7.4

2019-08-30 08:26:11

by Herbert Xu

[permalink] [raw]
Subject: Re: [PATCH v2 -next] crypto: hisilicon: select CRYPTO_LIB_DES while compiling SEC driver

On Wed, Aug 28, 2019 at 04:07:40PM +0800, Mao Wenan 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: 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 <[email protected]>
> Acked-by: Jonathan Cameron <[email protected]>
> ---
> v2: remove fix tag 915e4e8413da ("crypto: hisilicon - SEC security accelerator driver")
> drivers/crypto/hisilicon/Kconfig | 1 +
> 1 file changed, 1 insertion(+)

Patch applied. Thanks.
--
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt