2014-01-02 17:17:56

by Russell King

[permalink] [raw]
Subject: [PATCH RFC] CRYPTO: Fix more AES build errors:

Building a multi-arch kernel results in:

arch/arm/crypto/built-in.o: In function `aesbs_xts_decrypt':
sha1_glue.c:(.text+0x15c8): undefined reference to `bsaes_xts_decrypt'
arch/arm/crypto/built-in.o: In function `aesbs_xts_encrypt':
sha1_glue.c:(.text+0x1664): undefined reference to `bsaes_xts_encrypt'
arch/arm/crypto/built-in.o: In function `aesbs_ctr_encrypt':
sha1_glue.c:(.text+0x184c): undefined reference to `bsaes_ctr32_encrypt_blocks'
arch/arm/crypto/built-in.o: In function `aesbs_cbc_decrypt':
sha1_glue.c:(.text+0x19b4): undefined reference to `bsaes_cbc_encrypt'

This code is already runtime-conditional on NEON being supported, so
there's no point compiling it out depending on the minimum build
architecture.

Signed-off-by: Russell King <[email protected]>
---
This is more a request for acks since I'd like to keep it/push it through
my tree to reduce the autobuilder failures.

arch/arm/crypto/bsaes-armv7.pl | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/arm/crypto/bsaes-armv7.pl b/arch/arm/crypto/bsaes-armv7.pl
index f3d96d932573..be068db960ee 100644
--- a/arch/arm/crypto/bsaes-armv7.pl
+++ b/arch/arm/crypto/bsaes-armv7.pl
@@ -701,7 +701,7 @@ $code.=<<___;
# define VFP_ABI_FRAME 0
# define BSAES_ASM_EXTENDED_KEY
# define XTS_CHAIN_TWEAK
-# define __ARM_ARCH__ __LINUX_ARM_ARCH__
+# define __ARM_ARCH__ 7
#endif

#ifdef __thumb__
--
1.7.4.4


2014-01-02 18:16:47

by Ard Biesheuvel

[permalink] [raw]
Subject: Re: [PATCH RFC] CRYPTO: Fix more AES build errors:

On 2 January 2014 18:17, Russell King <[email protected]> wrote:
> Building a multi-arch kernel results in:
>
> arch/arm/crypto/built-in.o: In function `aesbs_xts_decrypt':
> sha1_glue.c:(.text+0x15c8): undefined reference to `bsaes_xts_decrypt'
> arch/arm/crypto/built-in.o: In function `aesbs_xts_encrypt':
> sha1_glue.c:(.text+0x1664): undefined reference to `bsaes_xts_encrypt'
> arch/arm/crypto/built-in.o: In function `aesbs_ctr_encrypt':
> sha1_glue.c:(.text+0x184c): undefined reference to `bsaes_ctr32_encrypt_blocks'
> arch/arm/crypto/built-in.o: In function `aesbs_cbc_decrypt':
> sha1_glue.c:(.text+0x19b4): undefined reference to `bsaes_cbc_encrypt'
>

Interestingly, when I try to reproduce this, the reference is
(correctly) reported to reside in aesbs-glue.c and not sha1_glue.c

> This code is already runtime-conditional on NEON being supported, so
> there's no point compiling it out depending on the minimum build
> architecture.
>

Agreed. It is a leftover from the way this code was embedded into
OpenSSL originally.

> Signed-off-by: Russell King <[email protected]>
> ---
> This is more a request for acks since I'd like to keep it/push it through
> my tree to reduce the autobuilder failures.
>
> arch/arm/crypto/bsaes-armv7.pl | 2 +-

The .S_shipped file produced by this script should be updated at the same time.

Acked-by: Ard Biesheuvel <[email protected]>


Regards,
Ard.



> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/crypto/bsaes-armv7.pl b/arch/arm/crypto/bsaes-armv7.pl
> index f3d96d932573..be068db960ee 100644
> --- a/arch/arm/crypto/bsaes-armv7.pl
> +++ b/arch/arm/crypto/bsaes-armv7.pl
> @@ -701,7 +701,7 @@ $code.=<<___;
> # define VFP_ABI_FRAME 0
> # define BSAES_ASM_EXTENDED_KEY
> # define XTS_CHAIN_TWEAK
> -# define __ARM_ARCH__ __LINUX_ARM_ARCH__
> +# define __ARM_ARCH__ 7
> #endif
>
> #ifdef __thumb__
> --
> 1.7.4.4
>

2014-01-05 12:52:04

by Herbert Xu

[permalink] [raw]
Subject: Re: [PATCH RFC] CRYPTO: Fix more AES build errors:

On Thu, Jan 02, 2014 at 07:16:46PM +0100, Ard Biesheuvel wrote:
> On 2 January 2014 18:17, Russell King <[email protected]> wrote:
> > Building a multi-arch kernel results in:
> >
> > arch/arm/crypto/built-in.o: In function `aesbs_xts_decrypt':
> > sha1_glue.c:(.text+0x15c8): undefined reference to `bsaes_xts_decrypt'
> > arch/arm/crypto/built-in.o: In function `aesbs_xts_encrypt':
> > sha1_glue.c:(.text+0x1664): undefined reference to `bsaes_xts_encrypt'
> > arch/arm/crypto/built-in.o: In function `aesbs_ctr_encrypt':
> > sha1_glue.c:(.text+0x184c): undefined reference to `bsaes_ctr32_encrypt_blocks'
> > arch/arm/crypto/built-in.o: In function `aesbs_cbc_decrypt':
> > sha1_glue.c:(.text+0x19b4): undefined reference to `bsaes_cbc_encrypt'
> >
>
> Interestingly, when I try to reproduce this, the reference is
> (correctly) reported to reside in aesbs-glue.c and not sha1_glue.c
>
> > This code is already runtime-conditional on NEON being supported, so
> > there's no point compiling it out depending on the minimum build
> > architecture.
> >
>
> Agreed. It is a leftover from the way this code was embedded into
> OpenSSL originally.
>
> > Signed-off-by: Russell King <[email protected]>
> > ---
> > This is more a request for acks since I'd like to keep it/push it through
> > my tree to reduce the autobuilder failures.
> >
> > arch/arm/crypto/bsaes-armv7.pl | 2 +-
>
> The .S_shipped file produced by this script should be updated at the same time.
>
> Acked-by: Ard Biesheuvel <[email protected]>

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

2014-01-05 12:56:08

by Russell King - ARM Linux

[permalink] [raw]
Subject: Re: [PATCH RFC] CRYPTO: Fix more AES build errors:

On Sun, Jan 05, 2014 at 08:51:05PM +0800, Herbert Xu wrote:
> On Thu, Jan 02, 2014 at 07:16:46PM +0100, Ard Biesheuvel wrote:
> > On 2 January 2014 18:17, Russell King <[email protected]> wrote:
> > > Building a multi-arch kernel results in:
> > >
> > > arch/arm/crypto/built-in.o: In function `aesbs_xts_decrypt':
> > > sha1_glue.c:(.text+0x15c8): undefined reference to `bsaes_xts_decrypt'
> > > arch/arm/crypto/built-in.o: In function `aesbs_xts_encrypt':
> > > sha1_glue.c:(.text+0x1664): undefined reference to `bsaes_xts_encrypt'
> > > arch/arm/crypto/built-in.o: In function `aesbs_ctr_encrypt':
> > > sha1_glue.c:(.text+0x184c): undefined reference to `bsaes_ctr32_encrypt_blocks'
> > > arch/arm/crypto/built-in.o: In function `aesbs_cbc_decrypt':
> > > sha1_glue.c:(.text+0x19b4): undefined reference to `bsaes_cbc_encrypt'
> > >
> >
> > Interestingly, when I try to reproduce this, the reference is
> > (correctly) reported to reside in aesbs-glue.c and not sha1_glue.c
> >
> > > This code is already runtime-conditional on NEON being supported, so
> > > there's no point compiling it out depending on the minimum build
> > > architecture.
> > >
> >
> > Agreed. It is a leftover from the way this code was embedded into
> > OpenSSL originally.
> >
> > > Signed-off-by: Russell King <[email protected]>
> > > ---
> > > This is more a request for acks since I'd like to keep it/push it through
> > > my tree to reduce the autobuilder failures.
> > >
> > > arch/arm/crypto/bsaes-armv7.pl | 2 +-
> >
> > The .S_shipped file produced by this script should be updated at the same time.
> >
> > Acked-by: Ard Biesheuvel <[email protected]>
>
> Patch applied to the crypto tree. Thanks a lot!

Since when do patches with "RFC" in the subject line get applied to other
people's trees?

I also had this in the original message:

"This is more a request for acks since I'd like to keep it/push it through
my tree to reduce the autobuilder failures."

And I've just sent Linus the pull request which contains this... though
I now realise I didn't add Ard's ack. Oh well, too late. :(

--
FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up. Estimation
in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad.
Estimate before purchase was "up to 13.2Mbit".

2014-01-05 12:57:19

by Herbert Xu

[permalink] [raw]
Subject: Re: [PATCH RFC] CRYPTO: Fix more AES build errors:

On Sun, Jan 05, 2014 at 12:55:57PM +0000, Russell King - ARM Linux wrote:
> On Sun, Jan 05, 2014 at 08:51:05PM +0800, Herbert Xu wrote:
> > On Thu, Jan 02, 2014 at 07:16:46PM +0100, Ard Biesheuvel wrote:
> > > On 2 January 2014 18:17, Russell King <[email protected]> wrote:
> > > > Building a multi-arch kernel results in:
> > > >
> > > > arch/arm/crypto/built-in.o: In function `aesbs_xts_decrypt':
> > > > sha1_glue.c:(.text+0x15c8): undefined reference to `bsaes_xts_decrypt'
> > > > arch/arm/crypto/built-in.o: In function `aesbs_xts_encrypt':
> > > > sha1_glue.c:(.text+0x1664): undefined reference to `bsaes_xts_encrypt'
> > > > arch/arm/crypto/built-in.o: In function `aesbs_ctr_encrypt':
> > > > sha1_glue.c:(.text+0x184c): undefined reference to `bsaes_ctr32_encrypt_blocks'
> > > > arch/arm/crypto/built-in.o: In function `aesbs_cbc_decrypt':
> > > > sha1_glue.c:(.text+0x19b4): undefined reference to `bsaes_cbc_encrypt'
> > > >
> > >
> > > Interestingly, when I try to reproduce this, the reference is
> > > (correctly) reported to reside in aesbs-glue.c and not sha1_glue.c
> > >
> > > > This code is already runtime-conditional on NEON being supported, so
> > > > there's no point compiling it out depending on the minimum build
> > > > architecture.
> > > >
> > >
> > > Agreed. It is a leftover from the way this code was embedded into
> > > OpenSSL originally.
> > >
> > > > Signed-off-by: Russell King <[email protected]>
> > > > ---
> > > > This is more a request for acks since I'd like to keep it/push it through
> > > > my tree to reduce the autobuilder failures.
> > > >
> > > > arch/arm/crypto/bsaes-armv7.pl | 2 +-
> > >
> > > The .S_shipped file produced by this script should be updated at the same time.
> > >
> > > Acked-by: Ard Biesheuvel <[email protected]>
> >
> > Patch applied to the crypto tree. Thanks a lot!
>
> Since when do patches with "RFC" in the subject line get applied to other
> people's trees?

OK I'll back it out.
--
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt