crypto: seqiv - Handle EBUSY correctly
authorHerbert Xu <herbert@gondor.apana.org.au>
Fri, 13 Jan 2023 10:27:51 +0000 (18:27 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Mar 2023 08:32:56 +0000 (09:32 +0100)
commit4d497e8b200a175094e0ac252ed878add39b8771
tree46d880d8d2762fdceecfc68e65f9c139c29b8bac
parenta006aa3eedb8bfd6fe317c3cfe9c86ffe76b2385
crypto: seqiv - Handle EBUSY correctly

[ Upstream commit 32e62025e5e52fbe4812ef044759de7010b15dbc ]

As it is seqiv 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 seqiv 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: 0a270321dbf9 ("[CRYPTO] seqiv: Add Sequence Number IV Generator")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
crypto/seqiv.c