| From foo@baz Wed Dec 20 18:17:52 CET 2017 |
| From: Christophe Jaillet <christophe.jaillet@wanadoo.fr> |
| Date: Sun, 8 Oct 2017 11:39:49 +0200 |
| Subject: crypto: lrw - Fix an error handling path in 'create()' |
| |
| From: Christophe Jaillet <christophe.jaillet@wanadoo.fr> |
| |
| |
| [ Upstream commit 616129cc6e75fb4da6681c16c981fa82dfe5e4c7 ] |
| |
| All error handling paths 'goto err_drop_spawn' except this one. |
| In order to avoid some resources leak, we should do it as well here. |
| |
| Fixes: 700cb3f5fe75 ("crypto: lrw - Convert to skcipher") |
| Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> |
| Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> |
| Signed-off-by: Sasha Levin <alexander.levin@verizon.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| crypto/lrw.c | 6 ++++-- |
| 1 file changed, 4 insertions(+), 2 deletions(-) |
| |
| --- a/crypto/lrw.c |
| +++ b/crypto/lrw.c |
| @@ -610,8 +610,10 @@ static int create(struct crypto_template |
| ecb_name[len - 1] = 0; |
| |
| if (snprintf(inst->alg.base.cra_name, CRYPTO_MAX_ALG_NAME, |
| - "lrw(%s)", ecb_name) >= CRYPTO_MAX_ALG_NAME) |
| - return -ENAMETOOLONG; |
| + "lrw(%s)", ecb_name) >= CRYPTO_MAX_ALG_NAME) { |
| + err = -ENAMETOOLONG; |
| + goto err_drop_spawn; |
| + } |
| } |
| |
| inst->alg.base.cra_flags = alg->base.cra_flags & CRYPTO_ALG_ASYNC; |