• Herbert Xu's avatar
    crypto: aead - Avoid infinite loop when nivaead fails selftest · 5852ae42
    Herbert Xu authored
    When an aead constructed through crypto_nivaead_default fails
    its selftest, we'll loop forever trying to construct new aead
    objects but failing because it already exists.
    
    The crux of the issue is that once an aead fails the selftest,
    we'll ignore it on the next run through crypto_aead_lookup and
    attempt to construct a new aead.
    
    We should instead return an error to the caller if we find an
    an that has failed the test.
    
    This bug hasn't manifested itself yet because we don't have any
    test vectors for the existing nivaead algorithms.  They're tested
    through the underlying algorithms only.
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    5852ae42
aead.c 12.6 KB