crypto: do not free algorithm before using
authorPan Bian <bianpan2016@163.com>
Thu, 22 Nov 2018 10:00:16 +0000 (18:00 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Thu, 29 Nov 2018 06:53:59 +0000 (14:53 +0800)
commite5bde04ccce64d808f8b00a489a1fe5825d285cb
treeff071a695559c7343c9ca04744794332368e0ecd
parent9f4debe38415583086ce814798eeb864aeb39551
crypto: do not free algorithm before using

In multiple functions, the algorithm fields are read after its reference
is dropped through crypto_mod_put. In this case, the algorithm memory
may be freed, resulting in use-after-free bugs. This patch delays the
put operation until the algorithm is never used.

Fixes: 79c65d179a40 ("crypto: cbc - Convert to skcipher")
Fixes: a7d85e06ed80 ("crypto: cfb - add support for Cipher FeedBack mode")
Fixes: 043a44001b9e ("crypto: pcbc - Convert to skcipher")
Cc: <stable@vger.kernel.org>
Signed-off-by: Pan Bian <bianpan2016@163.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/cbc.c
crypto/cfb.c
crypto/pcbc.c