crypto: morus - fix handling chunked inputs
authorEric Biggers <ebiggers@google.com>
Fri, 1 Feb 2019 07:51:37 +0000 (23:51 -0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 8 Feb 2019 07:30:08 +0000 (15:30 +0800)
commitd644f1c8746ed24f81075480f9e9cb3777ae8d65
tree031ca8c64d91586823c8e8a4360a58abdfa00297
parent0f533e67d26f228ea5dfdacc8a4bdeb487af5208
crypto: morus - fix handling chunked inputs

The generic MORUS implementations all fail the improved AEAD tests
because they produce the wrong result with some data layouts.  The issue
is that they assume that if the skcipher_walk API gives 'nbytes' not
aligned to the walksize (a.k.a. walk.stride), then it is the end of the
data.  In fact, this can happen before the end.  Fix them.

Fixes: 396be41f16fd ("crypto: morus - Add generic MORUS AEAD implementations")
Cc: <stable@vger.kernel.org> # v4.18+
Cc: Ondrej Mosnacek <omosnace@redhat.com>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Reviewed-by: Ondrej Mosnacek <omosnace@redhat.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/morus1280.c
crypto/morus640.c