Re: [PATCH] crypto: aegis128 - avoid spurious references crypto_aegis128_update_simd

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 30 Nov 2020 at 13:42, Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
>
> Hi Ard,
>
> On Mon, Nov 30, 2020 at 1:26 PM Ard Biesheuvel <ardb@xxxxxxxxxx> wrote:
> > Geert reports that builds where CONFIG_CRYPTO_AEGIS128_SIMD is not set
> > may still emit references to crypto_aegis128_update_simd(), which
> > cannot be satisfied and therefore break the build. These references
> > only exist in functions that can be optimized away, but apparently,
> > the compiler is not always able to prove this.
>
> The code is not unreachable. Both crypto_aegis128_encrypt_simd() and
> crypto_aegis128_decrypt_simd() call crypto_aegis128_process_ad(..., true);
>

Those functions themselves can be optimized away too, as well as
struct aead_alg crypto_aegis128_alg_simd, which is the only thing that
refers to those functions, and is itself only referenced inside a 'if
(IS_ENABLED(CONFIG_CRYPTO_AEGIS128_SIMD))' conditional block. This is
why it works fine most of the time.



[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux