crypto: caam - fix size of RSA prime factor q
authorHoria Geantă <horia.geanta@nxp.com>
Fri, 27 Apr 2018 08:40:11 +0000 (11:40 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 16 Jun 2018 07:45:17 +0000 (09:45 +0200)
commit 4bffaab373d9afaf862f3924442c33340bd26736 upstream.

Fix a typo where size of RSA prime factor q is using the size of
prime factor p.

Cc: <stable@vger.kernel.org> # 4.13+
Fixes: 52e26d77b8b3 ("crypto: caam - add support for RSA key form 2")
Fixes: 4a651b122adb ("crypto: caam - add support for RSA key form 3")
Reported-by: David Binderman <dcb314@hotmail.com>
Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/crypto/caam/caampkc.c

index 979072b..7ff4a25 100644 (file)
@@ -66,7 +66,7 @@ static void rsa_priv_f2_unmap(struct device *dev, struct rsa_edesc *edesc,
        struct caam_rsa_key *key = &ctx->key;
        struct rsa_priv_f2_pdb *pdb = &edesc->pdb.priv_f2;
        size_t p_sz = key->p_sz;
-       size_t q_sz = key->p_sz;
+       size_t q_sz = key->q_sz;
 
        dma_unmap_single(dev, pdb->d_dma, key->d_sz, DMA_TO_DEVICE);
        dma_unmap_single(dev, pdb->p_dma, p_sz, DMA_TO_DEVICE);
@@ -83,7 +83,7 @@ static void rsa_priv_f3_unmap(struct device *dev, struct rsa_edesc *edesc,
        struct caam_rsa_key *key = &ctx->key;
        struct rsa_priv_f3_pdb *pdb = &edesc->pdb.priv_f3;
        size_t p_sz = key->p_sz;
-       size_t q_sz = key->p_sz;
+       size_t q_sz = key->q_sz;
 
        dma_unmap_single(dev, pdb->p_dma, p_sz, DMA_TO_DEVICE);
        dma_unmap_single(dev, pdb->q_dma, q_sz, DMA_TO_DEVICE);
@@ -397,7 +397,7 @@ static int set_rsa_priv_f2_pdb(struct akcipher_request *req,
        struct rsa_priv_f2_pdb *pdb = &edesc->pdb.priv_f2;
        int sec4_sg_index = 0;
        size_t p_sz = key->p_sz;
-       size_t q_sz = key->p_sz;
+       size_t q_sz = key->q_sz;
 
        pdb->d_dma = dma_map_single(dev, key->d, key->d_sz, DMA_TO_DEVICE);
        if (dma_mapping_error(dev, pdb->d_dma)) {
@@ -472,7 +472,7 @@ static int set_rsa_priv_f3_pdb(struct akcipher_request *req,
        struct rsa_priv_f3_pdb *pdb = &edesc->pdb.priv_f3;
        int sec4_sg_index = 0;
        size_t p_sz = key->p_sz;
-       size_t q_sz = key->p_sz;
+       size_t q_sz = key->q_sz;
 
        pdb->p_dma = dma_map_single(dev, key->p, p_sz, DMA_TO_DEVICE);
        if (dma_mapping_error(dev, pdb->p_dma)) {