OSDN Git Service

crypto: gcm - Fix error return code in crypto_gcm_create_common()
authorWei Yongjun <weiyongjun1@huawei.com>
Mon, 17 Oct 2016 15:10:06 +0000 (15:10 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 21 May 2019 16:49:00 +0000 (18:49 +0200)
commit 9b40f79c08e81234d759f188b233980d7e81df6c upstream.

Fix to return error code -EINVAL from the invalid alg ivsize error
handling case instead of 0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
crypto/gcm.c

index dd33fbd..122f5e9 100644 (file)
@@ -670,11 +670,11 @@ static int crypto_gcm_create_common(struct crypto_template *tmpl,
        ctr = crypto_spawn_skcipher_alg(&ctx->ctr);
 
        /* We only support 16-byte blocks. */
+       err = -EINVAL;
        if (crypto_skcipher_alg_ivsize(ctr) != 16)
                goto out_put_ctr;
 
        /* Not a stream cipher? */
-       err = -EINVAL;
        if (ctr->base.cra_blocksize != 1)
                goto out_put_ctr;