Hi Ard,

On Mon, Nov 30, 2020 at 1:47 PM Ard Biesheuvel <a...@kernel.org> wrote:
> On Mon, 30 Nov 2020 at 13:42, Geert Uytterhoeven <ge...@linux-m68k.org> wrote:
> > On Mon, Nov 30, 2020 at 1:26 PM Ard Biesheuvel <a...@kernel.org> 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.

I stand corrected: I missed the conditional registration of
crypto_aegis128_alg_simd.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

Reply via email to