crypto: algif_aead - Only wake up when ctx->more is zero
commitcf368b876f44c984bf417bb6e2f8bdf1e441bd3b
authorHerbert Xu <herbert@gondor.apana.org.au>
Fri, 29 May 2020 14:23:49 +0000 (30 00:23 +1000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 Aug 2020 11:05:30 +0000 (21 13:05 +0200)
treee15f9c98054e7d9a2d60d74b2317ad884d6235c3
parentbb0bba78d365ef504cbb5f0947e4851ec402707f
crypto: algif_aead - Only wake up when ctx->more is zero

[ Upstream commit f3c802a1f30013f8f723b62d7fa49eb9e991da23 ]

AEAD does not support partial requests so we must not wake up
while ctx->more is set.  In order to distinguish between the
case of no data sent yet and a zero-length request, a new init
flag has been added to ctx.

SKCIPHER has also been modified to ensure that at least a block
of data is available if there is more data to come.

Fixes: 2d97591ef43d ("crypto: af_alg - consolidation of...")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
crypto/af_alg.c
crypto/algif_aead.c
crypto/algif_skcipher.c
include/crypto/if_alg.h