lkml.org 
[lkml]   [2019]   [Aug]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: linux-next: Tree for Jul 31 - s390 crypto build breakage
    Hi Herbert,

    On Thu, 1 Aug 2019 20:28:56 +0300 Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
    >
    > On Thu, 1 Aug 2019 at 15:28, Heiko Carstens <heiko.carstens@de.ibm.com> wrote:
    > >
    > > On Wed, Jul 31, 2019 at 01:44:54PM +0200, Heiko Carstens wrote:
    > > > On Wed, Jul 31, 2019 at 09:32:16PM +1000, Herbert Xu wrote:
    > > > > On Wed, Jul 31, 2019 at 01:15:20PM +0200, Heiko Carstens wrote:
    > > > > >
    > > > > > However that doesn't fix the simd.h header file breakage with the
    > > > > > second patch :)
    > > > >
    > > > > That fix should be there now too.
    > > >
    > > > Yes, works now. Thank you!
    > >
    > > Still not... with linux-next as of today I get this (s390 defconfig):
    > >
    > > ERROR: "crypto_aegis128_decrypt_chunk_simd" [crypto/aegis128.ko] undefined!
    > > ERROR: "crypto_aegis128_update_simd" [crypto/aegis128.ko] undefined!
    > > ERROR: "crypto_aegis128_encrypt_chunk_simd" [crypto/aegis128.ko] undefined!
    > > scripts/Makefile.modpost:105: recipe for target 'modules-modpost' failed
    > >
    >
    > Hello Heiko,
    >
    > Apologies for the breakage. The first two fixes addressed obvious
    > shortcomings in my code, but with this issue, I'm a bit puzzled tbh.
    > The calls to these missing functions should be optimized away, since
    > have_simd never gets assigned if CONFIG_CRYPTO_AEGIS128_SIMD is not
    > defined, but for some reason, this isn't working. Which version of GCC
    > are you using?
    >
    > Also, could you please try whether the patch below fixes the problem? Thanks
    >
    > https://lore.kernel.org/linux-crypto/20190729074434.21064-1-ard.biesheuvel@linaro.org/

    It might be time to revert all this series and try again. The
    implementation seems to have not been well thought through from a kernel
    building point of view. For a start the two commits

    7cdc0ddbf74a ("crypto: aegis128 - add support for SIMD acceleration")
    ecc8bc81f2fb ("crypto: aegis128 - provide a SIMD implementation based on NEON intrinsics")

    seem to be in the wrong order (function used in the first before being
    defined in the second). There are a series of declarations of external
    functions in crypto/aegis128-core.c that should be in a header file.
    And there was the assumption that asm/simd.h was available everywhere.

    Also crypto_aegis128_decrypt_chunk_simd() is referenced in a structure
    initialisation (unprotected by any CONFIG_ variable - and so will be
    referenced even if it does not exist). The compiler will have a hard
    time knowing that "have_simd" is effectively a constant zero (and
    crypto_simd_usable() is not constant).
    --
    Cheers,
    Stephen Rothwell
    [unhandled content-type:application/pgp-signature]
    \
     
     \ /
      Last update: 2019-08-02 02:21    [W:5.685 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site