crypto: algif_skcipher - Do not dereference ctx without socket lock
authorHerbert Xu <herbert@gondor.apana.org.au>
Wed, 3 Feb 2016 13:39:26 +0000 (21:39 +0800)
committerBen Hutchings <ben@decadent.org.uk>
Sat, 27 Feb 2016 14:28:47 +0000 (14:28 +0000)
commitc54ddfbb1b691d77c52b76ca6e13ca7082eb3b82
tree8455c96d9c35a4923cfaaf85020756627b648eea
parentcc058b6fde123df44509d38b43cda98a309c72da
crypto: algif_skcipher - Do not dereference ctx without socket lock

commit 6454c2b83f719057069777132b13949e4c6b6350 upstream.

Any access to non-constant bits of the private context must be
done under the socket lock, in particular, this includes ctx->req.

This patch moves such accesses under the lock, and fetches the
tfm from the parent socket which is guaranteed to be constant,
rather than from ctx->req.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
[bwh: Backported to 3.2:
 - Drop changes to skcipher_recvmsg_async
 - s/skcipher/ablkcipher/ in many places
 - s/skc->skcipher/skc->base/]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
crypto/algif_skcipher.c