|
Torsten Duwe |
21b5b5 |
From 072d36eefd6fde17928d214df64fdac32f60b4f4 Mon Sep 17 00:00:00 2001
|
|
Torsten Duwe |
21b5b5 |
From: Damian Muszynski <damian.muszynski@intel.com>
|
|
Torsten Duwe |
21b5b5 |
Date: Fri, 9 Sep 2022 11:49:14 +0100
|
|
Torsten Duwe |
21b5b5 |
Subject: [PATCH] crypto: qat - use reference to structure in dma_map_single()
|
|
Torsten Duwe |
21b5b5 |
Git-commit: 072d36eefd6fde17928d214df64fdac32f60b4f4
|
|
Torsten Duwe |
21b5b5 |
Patch-mainline: v6.1-rc1
|
|
Torsten Duwe |
21b5b5 |
References: jsc#PED-1073
|
|
Torsten Duwe |
21b5b5 |
|
|
Torsten Duwe |
21b5b5 |
When mapping the input and output parameters, the implementations of RSA
|
|
Torsten Duwe |
21b5b5 |
and DH pass to the function dma_map_single() a pointer to the first
|
|
Torsten Duwe |
21b5b5 |
member of the structure they want to map instead of a pointer to the
|
|
Torsten Duwe |
21b5b5 |
actual structure.
|
|
Torsten Duwe |
21b5b5 |
This results in set of warnings reported by the static analyser Smatch:
|
|
Torsten Duwe |
21b5b5 |
|
|
Torsten Duwe |
21b5b5 |
drivers/crypto/qat/qat_common/qat_asym_algs.c:335 qat_dh_compute_value() error: dma_map_single_attrs() '&qat_req->in.dh.in.b' too small (8 vs 64)
|
|
Torsten Duwe |
21b5b5 |
drivers/crypto/qat/qat_common/qat_asym_algs.c:341 qat_dh_compute_value() error: dma_map_single_attrs() '&qat_req->out.dh.r' too small (8 vs 64)
|
|
Torsten Duwe |
21b5b5 |
drivers/crypto/qat/qat_common/qat_asym_algs.c:732 qat_rsa_enc() error: dma_map_single_attrs() '&qat_req->in.rsa.enc.m' too small (8 vs 64)
|
|
Torsten Duwe |
21b5b5 |
drivers/crypto/qat/qat_common/qat_asym_algs.c:738 qat_rsa_enc() error: dma_map_single_attrs() '&qat_req->out.rsa.enc.c' too small (8 vs 64)
|
|
Torsten Duwe |
21b5b5 |
drivers/crypto/qat/qat_common/qat_asym_algs.c:878 qat_rsa_dec() error: dma_map_single_attrs() '&qat_req->in.rsa.dec.c' too small (8 vs 64)
|
|
Torsten Duwe |
21b5b5 |
drivers/crypto/qat/qat_common/qat_asym_algs.c:884 qat_rsa_dec() error: dma_map_single_attrs() '&qat_req->out.rsa.dec.m' too small (8 vs 64)
|
|
Torsten Duwe |
21b5b5 |
|
|
Torsten Duwe |
21b5b5 |
Where the address of the first element of a structure is used as an
|
|
Torsten Duwe |
21b5b5 |
input for the function dma_map_single(), replace it with the address of
|
|
Torsten Duwe |
21b5b5 |
the structure. This fix does not introduce any functional change as the
|
|
Torsten Duwe |
21b5b5 |
addresses are the same.
|
|
Torsten Duwe |
21b5b5 |
|
|
Torsten Duwe |
21b5b5 |
Signed-off-by: Damian Muszynski <damian.muszynski@intel.com>
|
|
Torsten Duwe |
21b5b5 |
Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
|
|
Torsten Duwe |
21b5b5 |
Reviewed-by: Adam Guerin <adam.guerin@intel.com>
|
|
Torsten Duwe |
21b5b5 |
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
Torsten Duwe |
21b5b5 |
Signed-off-by: Torsten Duwe <duwe@suse.de>
|
|
Torsten Duwe |
21b5b5 |
|
|
Torsten Duwe |
21b5b5 |
---
|
|
Torsten Duwe |
21b5b5 |
drivers/crypto/qat/qat_common/qat_asym_algs.c | 12 ++++++------
|
|
Torsten Duwe |
21b5b5 |
1 file changed, 6 insertions(+), 6 deletions(-)
|
|
Torsten Duwe |
21b5b5 |
|
|
Torsten Duwe |
21b5b5 |
diff --git a/drivers/crypto/qat/qat_common/qat_asym_algs.c b/drivers/crypto/qat/qat_common/qat_asym_algs.c
|
|
Torsten Duwe |
21b5b5 |
index 85b0f30712e16..94a26702aeae1 100644
|
|
Torsten Duwe |
21b5b5 |
--- a/drivers/crypto/qat/qat_common/qat_asym_algs.c
|
|
Torsten Duwe |
21b5b5 |
+++ b/drivers/crypto/qat/qat_common/qat_asym_algs.c
|
|
Torsten Duwe |
21b5b5 |
@@ -332,13 +332,13 @@ static int qat_dh_compute_value(struct kpp_request *req)
|
|
Torsten Duwe |
21b5b5 |
qat_req->in.dh.in_tab[n_input_params] = 0;
|
|
Torsten Duwe |
21b5b5 |
qat_req->out.dh.out_tab[1] = 0;
|
|
Torsten Duwe |
21b5b5 |
/* Mapping in.in.b or in.in_g2.xa is the same */
|
|
Torsten Duwe |
21b5b5 |
- qat_req->phy_in = dma_map_single(dev, &qat_req->in.dh.in.b,
|
|
Torsten Duwe |
21b5b5 |
+ qat_req->phy_in = dma_map_single(dev, &qat_req->in.dh,
|
|
Torsten Duwe |
21b5b5 |
sizeof(struct qat_dh_input_params),
|
|
Torsten Duwe |
21b5b5 |
DMA_TO_DEVICE);
|
|
Torsten Duwe |
21b5b5 |
if (unlikely(dma_mapping_error(dev, qat_req->phy_in)))
|
|
Torsten Duwe |
21b5b5 |
goto unmap_dst;
|
|
Torsten Duwe |
21b5b5 |
|
|
Torsten Duwe |
21b5b5 |
- qat_req->phy_out = dma_map_single(dev, &qat_req->out.dh.r,
|
|
Torsten Duwe |
21b5b5 |
+ qat_req->phy_out = dma_map_single(dev, &qat_req->out.dh,
|
|
Torsten Duwe |
21b5b5 |
sizeof(struct qat_dh_output_params),
|
|
Torsten Duwe |
21b5b5 |
DMA_TO_DEVICE);
|
|
Torsten Duwe |
21b5b5 |
if (unlikely(dma_mapping_error(dev, qat_req->phy_out)))
|
|
Torsten Duwe |
21b5b5 |
@@ -729,13 +729,13 @@ static int qat_rsa_enc(struct akcipher_request *req)
|
|
Torsten Duwe |
21b5b5 |
|
|
Torsten Duwe |
21b5b5 |
qat_req->in.rsa.in_tab[3] = 0;
|
|
Torsten Duwe |
21b5b5 |
qat_req->out.rsa.out_tab[1] = 0;
|
|
Torsten Duwe |
21b5b5 |
- qat_req->phy_in = dma_map_single(dev, &qat_req->in.rsa.enc.m,
|
|
Torsten Duwe |
21b5b5 |
+ qat_req->phy_in = dma_map_single(dev, &qat_req->in.rsa,
|
|
Torsten Duwe |
21b5b5 |
sizeof(struct qat_rsa_input_params),
|
|
Torsten Duwe |
21b5b5 |
DMA_TO_DEVICE);
|
|
Torsten Duwe |
21b5b5 |
if (unlikely(dma_mapping_error(dev, qat_req->phy_in)))
|
|
Torsten Duwe |
21b5b5 |
goto unmap_dst;
|
|
Torsten Duwe |
21b5b5 |
|
|
Torsten Duwe |
21b5b5 |
- qat_req->phy_out = dma_map_single(dev, &qat_req->out.rsa.enc.c,
|
|
Torsten Duwe |
21b5b5 |
+ qat_req->phy_out = dma_map_single(dev, &qat_req->out.rsa,
|
|
Torsten Duwe |
21b5b5 |
sizeof(struct qat_rsa_output_params),
|
|
Torsten Duwe |
21b5b5 |
DMA_TO_DEVICE);
|
|
Torsten Duwe |
21b5b5 |
if (unlikely(dma_mapping_error(dev, qat_req->phy_out)))
|
|
Torsten Duwe |
21b5b5 |
@@ -875,13 +875,13 @@ static int qat_rsa_dec(struct akcipher_request *req)
|
|
Torsten Duwe |
21b5b5 |
else
|
|
Torsten Duwe |
21b5b5 |
qat_req->in.rsa.in_tab[3] = 0;
|
|
Torsten Duwe |
21b5b5 |
qat_req->out.rsa.out_tab[1] = 0;
|
|
Torsten Duwe |
21b5b5 |
- qat_req->phy_in = dma_map_single(dev, &qat_req->in.rsa.dec.c,
|
|
Torsten Duwe |
21b5b5 |
+ qat_req->phy_in = dma_map_single(dev, &qat_req->in.rsa,
|
|
Torsten Duwe |
21b5b5 |
sizeof(struct qat_rsa_input_params),
|
|
Torsten Duwe |
21b5b5 |
DMA_TO_DEVICE);
|
|
Torsten Duwe |
21b5b5 |
if (unlikely(dma_mapping_error(dev, qat_req->phy_in)))
|
|
Torsten Duwe |
21b5b5 |
goto unmap_dst;
|
|
Torsten Duwe |
21b5b5 |
|
|
Torsten Duwe |
21b5b5 |
- qat_req->phy_out = dma_map_single(dev, &qat_req->out.rsa.dec.m,
|
|
Torsten Duwe |
21b5b5 |
+ qat_req->phy_out = dma_map_single(dev, &qat_req->out.rsa,
|
|
Torsten Duwe |
21b5b5 |
sizeof(struct qat_rsa_output_params),
|
|
Torsten Duwe |
21b5b5 |
DMA_TO_DEVICE);
|
|
Torsten Duwe |
21b5b5 |
if (unlikely(dma_mapping_error(dev, qat_req->phy_out)))
|
|
Torsten Duwe |
21b5b5 |
--
|
|
Torsten Duwe |
21b5b5 |
2.35.3
|
|
Torsten Duwe |
21b5b5 |
|