]> git.baikalelectronics.ru Git - kernel.git/commit
crypto: essiv - Handle EBUSY correctly
authorHerbert Xu <herbert@gondor.apana.org.au>
Fri, 13 Jan 2023 10:24:09 +0000 (18:24 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 11 Mar 2023 15:43:39 +0000 (16:43 +0100)
commit2ad760509292a673fcfd05e441440a62264f3b8a
treedbefd1df37b3e8b0b3b6b29e35abaa812d3480cd
parent1091e9b7e3b3b06b24173c608dcb69b50fd4f7ea
crypto: essiv - Handle EBUSY correctly

[ Upstream commit b5a772adf45a32c68bef28e60621f12617161556 ]

As it is essiv only handles the special return value of EINPROGERSS,
which means that in all other cases it will free data related to the
request.

However, as the caller of essiv may specify MAY_BACKLOG, we also need
to expect EBUSY and treat it in the same way.  Otherwise backlogged
requests will trigger a use-after-free.

Fixes: 43415f4910e4 ("crypto: essiv - create wrapper template...")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
crypto/essiv.c