diff mbox series

[-next] crypto: inside-secure - Fix randbuild error

Message ID 20191008071503.55772-1-yuehaibing@huawei.com (mailing list archive)
State Superseded
Delegated to: Herbert Xu
Headers show
Series [-next] crypto: inside-secure - Fix randbuild error | expand

Commit Message

Yue Haibing Oct. 8, 2019, 7:15 a.m. UTC
If CRYPTO_DEV_SAFEXCEL is y but CRYPTO_SM3 is m,
building fails:

drivers/crypto/inside-secure/safexcel_hash.o: In function `safexcel_ahash_final':
safexcel_hash.c:(.text+0xbc0): undefined reference to `sm3_zero_message_hash'

Select CRYPTO_SM3 to fix this.

Reported-by: Hulk Robot <hulkci@huawei.com>
Fixes: 0f2bc13181ce ("crypto: inside-secure - Added support for basic SM3 ahash")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
---
 drivers/crypto/Kconfig | 1 +
 1 file changed, 1 insertion(+)

Comments

Pascal Van Leeuwen Oct. 8, 2019, 7:32 a.m. UTC | #1
> -----Original Message-----
> From: linux-crypto-owner@vger.kernel.org <linux-crypto-owner@vger.kernel.org> On Behalf Of
> YueHaibing
> Sent: Tuesday, October 8, 2019 9:15 AM
> To: herbert@gondor.apana.org.au; davem@davemloft.net; pascalvanl@gmail.com;
> antoine.tenart@bootlin.com
> Cc: linux-crypto@vger.kernel.org; linux-kernel@vger.kernel.org; YueHaibing
> <yuehaibing@huawei.com>
> Subject: [PATCH -next] crypto: inside-secure - Fix randbuild error
> 
> If CRYPTO_DEV_SAFEXCEL is y but CRYPTO_SM3 is m,
> building fails:
> 
> drivers/crypto/inside-secure/safexcel_hash.o: In function `safexcel_ahash_final':
> safexcel_hash.c:(.text+0xbc0): undefined reference to `sm3_zero_message_hash'
> 
> Select CRYPTO_SM3 to fix this.
> 
> Reported-by: Hulk Robot <hulkci@huawei.com>
> Fixes: 0f2bc13181ce ("crypto: inside-secure - Added support for basic SM3 ahash")
> Signed-off-by: YueHaibing <yuehaibing@huawei.com>
> ---
>  drivers/crypto/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig
> index 3e51bae..5af17db 100644
> --- a/drivers/crypto/Kconfig
> +++ b/drivers/crypto/Kconfig
> @@ -751,6 +751,7 @@ config CRYPTO_DEV_SAFEXCEL
>  	select CRYPTO_SHA512
>  	select CRYPTO_CHACHA20POLY1305
>  	select CRYPTO_SHA3
> +	select CRYPTO_SM3
>  	help
>  	  This driver interfaces with the SafeXcel EIP-97 and EIP-197 cryptographic
>  	  engines designed by Inside Secure. It currently accelerates DES, 3DES and
> --
> 2.7.4
> 
But ... I don't really want to build SM3 into the kernel for all Inside
Secure drivers, since in the majority of cases, the HW will not actually
support SM3 and I don't want to bloat the kernel image in that case.

So maybe it's better to #ifdef out the failing part of the driver if
CONFIG_SM3 is not set?

Regards,
Pascal van Leeuwen
Silicon IP Architect, Multi-Protocol Engines @ Verimatrix
www.insidesecure.com
Ard Biesheuvel Oct. 8, 2019, 7:35 a.m. UTC | #2
On Tue, 8 Oct 2019 at 09:32, Pascal Van Leeuwen
<pvanleeuwen@verimatrix.com> wrote:
>
> > -----Original Message-----
> > From: linux-crypto-owner@vger.kernel.org <linux-crypto-owner@vger.kernel.org> On Behalf Of
> > YueHaibing
> > Sent: Tuesday, October 8, 2019 9:15 AM
> > To: herbert@gondor.apana.org.au; davem@davemloft.net; pascalvanl@gmail.com;
> > antoine.tenart@bootlin.com
> > Cc: linux-crypto@vger.kernel.org; linux-kernel@vger.kernel.org; YueHaibing
> > <yuehaibing@huawei.com>
> > Subject: [PATCH -next] crypto: inside-secure - Fix randbuild error
> >
> > If CRYPTO_DEV_SAFEXCEL is y but CRYPTO_SM3 is m,
> > building fails:
> >
> > drivers/crypto/inside-secure/safexcel_hash.o: In function `safexcel_ahash_final':
> > safexcel_hash.c:(.text+0xbc0): undefined reference to `sm3_zero_message_hash'
> >
> > Select CRYPTO_SM3 to fix this.
> >
> > Reported-by: Hulk Robot <hulkci@huawei.com>
> > Fixes: 0f2bc13181ce ("crypto: inside-secure - Added support for basic SM3 ahash")
> > Signed-off-by: YueHaibing <yuehaibing@huawei.com>
> > ---
> >  drivers/crypto/Kconfig | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig
> > index 3e51bae..5af17db 100644
> > --- a/drivers/crypto/Kconfig
> > +++ b/drivers/crypto/Kconfig
> > @@ -751,6 +751,7 @@ config CRYPTO_DEV_SAFEXCEL
> >       select CRYPTO_SHA512
> >       select CRYPTO_CHACHA20POLY1305
> >       select CRYPTO_SHA3
> > +     select CRYPTO_SM3
> >       help
> >         This driver interfaces with the SafeXcel EIP-97 and EIP-197 cryptographic
> >         engines designed by Inside Secure. It currently accelerates DES, 3DES and
> > --
> > 2.7.4
> >
> But ... I don't really want to build SM3 into the kernel for all Inside
> Secure drivers, since in the majority of cases, the HW will not actually
> support SM3 and I don't want to bloat the kernel image in that case.
>
> So maybe it's better to #ifdef out the failing part of the driver if
> CONFIG_SM3 is not set?
>

Since you are only using the zero length message hash, can we just
copy that into your driver instead?
Pascal Van Leeuwen Oct. 8, 2019, 7:57 a.m. UTC | #3
> -----Original Message-----
> From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> Sent: Tuesday, October 8, 2019 9:35 AM
> To: Pascal Van Leeuwen <pvanleeuwen@verimatrix.com>
> Cc: YueHaibing <yuehaibing@huawei.com>; herbert@gondor.apana.org.au; davem@davemloft.net;
> pascalvanl@gmail.com; antoine.tenart@bootlin.com; linux-crypto@vger.kernel.org; linux-
> kernel@vger.kernel.org
> Subject: Re: [PATCH -next] crypto: inside-secure - Fix randbuild error
> 
> On Tue, 8 Oct 2019 at 09:32, Pascal Van Leeuwen
> <pvanleeuwen@verimatrix.com> wrote:
> >
> > > -----Original Message-----
> > > From: linux-crypto-owner@vger.kernel.org <linux-crypto-owner@vger.kernel.org> On Behalf Of
> > > YueHaibing
> > > Sent: Tuesday, October 8, 2019 9:15 AM
> > > To: herbert@gondor.apana.org.au; davem@davemloft.net; pascalvanl@gmail.com;
> > > antoine.tenart@bootlin.com
> > > Cc: linux-crypto@vger.kernel.org; linux-kernel@vger.kernel.org; YueHaibing
> > > <yuehaibing@huawei.com>
> > > Subject: [PATCH -next] crypto: inside-secure - Fix randbuild error
> > >
> > > If CRYPTO_DEV_SAFEXCEL is y but CRYPTO_SM3 is m,
> > > building fails:
> > >
> > > drivers/crypto/inside-secure/safexcel_hash.o: In function `safexcel_ahash_final':
> > > safexcel_hash.c:(.text+0xbc0): undefined reference to `sm3_zero_message_hash'
> > >
> > > Select CRYPTO_SM3 to fix this.
> > >
> > > Reported-by: Hulk Robot <hulkci@huawei.com>
> > > Fixes: 0f2bc13181ce ("crypto: inside-secure - Added support for basic SM3 ahash")
> > > Signed-off-by: YueHaibing <yuehaibing@huawei.com>
> > > ---
> > >  drivers/crypto/Kconfig | 1 +
> > >  1 file changed, 1 insertion(+)
> > >
> > > diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig
> > > index 3e51bae..5af17db 100644
> > > --- a/drivers/crypto/Kconfig
> > > +++ b/drivers/crypto/Kconfig
> > > @@ -751,6 +751,7 @@ config CRYPTO_DEV_SAFEXCEL
> > >       select CRYPTO_SHA512
> > >       select CRYPTO_CHACHA20POLY1305
> > >       select CRYPTO_SHA3
> > > +     select CRYPTO_SM3
> > >       help
> > >         This driver interfaces with the SafeXcel EIP-97 and EIP-197 cryptographic
> > >         engines designed by Inside Secure. It currently accelerates DES, 3DES and
> > > --
> > > 2.7.4
> > >
> > But ... I don't really want to build SM3 into the kernel for all Inside
> > Secure drivers, since in the majority of cases, the HW will not actually
> > support SM3 and I don't want to bloat the kernel image in that case.
> >
> > So maybe it's better to #ifdef out the failing part of the driver if
> > CONFIG_SM3 is not set?
> >
> 
> Since you are only using the zero length message hash, can we just
> copy that into your driver instead?
If that is really the case - don't have time to look into that right now -
then I would be fine with that too. If no one objects, then I will make a
patch for that when I can find some time to do so (~early next week).

Regards,
Pascal van Leeuwen
Silicon IP Architect, Multi-Protocol Engines @ Verimatrix
www.insidesecure.com
Pascal Van Leeuwen Oct. 17, 2019, 4:14 p.m. UTC | #4
> -----Original Message-----
> From: linux-crypto-owner@vger.kernel.org <linux-crypto-owner@vger.kernel.org> On Behalf Of
> Pascal Van Leeuwen
> Sent: Tuesday, October 8, 2019 9:57 AM
> To: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> Cc: YueHaibing <yuehaibing@huawei.com>; herbert@gondor.apana.org.au; davem@davemloft.net;
> pascalvanl@gmail.com; antoine.tenart@bootlin.com; linux-crypto@vger.kernel.org; linux-
> kernel@vger.kernel.org
> Subject: RE: [PATCH -next] crypto: inside-secure - Fix randbuild error
> 
> > -----Original Message-----
> > From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> > Sent: Tuesday, October 8, 2019 9:35 AM
> > To: Pascal Van Leeuwen <pvanleeuwen@verimatrix.com>
> > Cc: YueHaibing <yuehaibing@huawei.com>; herbert@gondor.apana.org.au; davem@davemloft.net;
> > pascalvanl@gmail.com; antoine.tenart@bootlin.com; linux-crypto@vger.kernel.org; linux-
> > kernel@vger.kernel.org
> > Subject: Re: [PATCH -next] crypto: inside-secure - Fix randbuild error
> >
> > On Tue, 8 Oct 2019 at 09:32, Pascal Van Leeuwen
> > <pvanleeuwen@verimatrix.com> wrote:
> > >
> > > > -----Original Message-----
> > > > From: linux-crypto-owner@vger.kernel.org <linux-crypto-owner@vger.kernel.org> On Behalf
> Of
> > > > YueHaibing
> > > > Sent: Tuesday, October 8, 2019 9:15 AM
> > > > To: herbert@gondor.apana.org.au; davem@davemloft.net; pascalvanl@gmail.com;
> > > > antoine.tenart@bootlin.com
> > > > Cc: linux-crypto@vger.kernel.org; linux-kernel@vger.kernel.org; YueHaibing
> > > > <yuehaibing@huawei.com>
> > > > Subject: [PATCH -next] crypto: inside-secure - Fix randbuild error
> > > >
> > > > If CRYPTO_DEV_SAFEXCEL is y but CRYPTO_SM3 is m,
> > > > building fails:
> > > >
> > > > drivers/crypto/inside-secure/safexcel_hash.o: In function `safexcel_ahash_final':
> > > > safexcel_hash.c:(.text+0xbc0): undefined reference to `sm3_zero_message_hash'
> > > >
> > > > Select CRYPTO_SM3 to fix this.
> > > >
> > > > Reported-by: Hulk Robot <hulkci@huawei.com>
> > > > Fixes: 0f2bc13181ce ("crypto: inside-secure - Added support for basic SM3 ahash")
> > > > Signed-off-by: YueHaibing <yuehaibing@huawei.com>
> > > > ---
> > > >  drivers/crypto/Kconfig | 1 +
> > > >  1 file changed, 1 insertion(+)
> > > >
> > > > diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig
> > > > index 3e51bae..5af17db 100644
> > > > --- a/drivers/crypto/Kconfig
> > > > +++ b/drivers/crypto/Kconfig
> > > > @@ -751,6 +751,7 @@ config CRYPTO_DEV_SAFEXCEL
> > > >       select CRYPTO_SHA512
> > > >       select CRYPTO_CHACHA20POLY1305
> > > >       select CRYPTO_SHA3
> > > > +     select CRYPTO_SM3
> > > >       help
> > > >         This driver interfaces with the SafeXcel EIP-97 and EIP-197 cryptographic
> > > >         engines designed by Inside Secure. It currently accelerates DES, 3DES and
> > > > --
> > > > 2.7.4
> > > >
> > > But ... I don't really want to build SM3 into the kernel for all Inside
> > > Secure drivers, since in the majority of cases, the HW will not actually
> > > support SM3 and I don't want to bloat the kernel image in that case.
> > >
> > > So maybe it's better to #ifdef out the failing part of the driver if
> > > CONFIG_SM3 is not set?
> > >
> >
> > Since you are only using the zero length message hash, can we just
> > copy that into your driver instead?
> If that is really the case - don't have time to look into that right now -
> then I would be fine with that too. If no one objects, then I will make a
> patch for that when I can find some time to do so (~early next week).
> 
> Regards,
> Pascal van Leeuwen
> Silicon IP Architect, Multi-Protocol Engines @ Verimatrix
> www.insidesecure.com

Actually, I just looked into this and:

1)The driver already takes a local version if IS_ENABLED(CONFIG_CRYPTO_SM3)
  is false. I'm not sure what happens there is the module is configured to
  be a loadable module though.
2)I cannot reproduce the build error when I set CONFIG_CRYPTO_SM3 to "m".

But I think I'll just spin a patch that *always* takes the local version
independent of the CONFIG switch. That should always work.

Regards,
Pascal van Leeuwen
Silicon IP Architect, Multi-Protocol Engines @ Verimatrix
www.insidesecure.com
diff mbox series

Patch

diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig
index 3e51bae..5af17db 100644
--- a/drivers/crypto/Kconfig
+++ b/drivers/crypto/Kconfig
@@ -751,6 +751,7 @@  config CRYPTO_DEV_SAFEXCEL
 	select CRYPTO_SHA512
 	select CRYPTO_CHACHA20POLY1305
 	select CRYPTO_SHA3
+	select CRYPTO_SM3
 	help
 	  This driver interfaces with the SafeXcel EIP-97 and EIP-197 cryptographic
 	  engines designed by Inside Secure. It currently accelerates DES, 3DES and