• Ard Biesheuvel's avatar
    crypto: arm64/aes-ccm - Revert "Rewrite skcipher walker loop" · f7220024
    Ard Biesheuvel authored
    This reverts commit 57ead1bf, which updated the CCM code to only
    rely on walk.nbytes to check for failures returned from the skcipher
    walk API, mostly for the common good rather than to fix a particular
    problem in the code.
    
    This change introduces a problem of its own: the skcipher walk is
    started with the 'atomic' argument set to false, which means that the
    skcipher walk API is permitted to sleep. Subsequently, it invokes
    skcipher_walk_done() with preemption disabled on the final iteration of
    the loop. This appears to work by accident, but it is arguably a bad
    example, and providing a better example was the point of the original
    patch.
    
    Given that future changes to the CCM code will rely on the original
    behavior of entering the loop even for zero sized inputs, let's just
    revert this change entirely, and proceed from there.
    Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    f7220024
aes-ce-ccm-glue.c 7.36 KB