aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGilad Ben-Yossef <gilad@benyossef.com>2019-07-29 06:40:19 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2019-08-09 01:05:31 -0400
commite88b27c8eaa8f3126791778803dd2fdd81828f5c (patch)
treee8227579a53565f542f40f32f9f2f3aba0b90d5f
parent7a4be6c113c1f721818d1e3722a9015fe393295c (diff)
crypto: ccree - use std api sg_zero_buffer
Replace internal cc_zero_sgl() with kernel API of the same function sg_zero_buffer(). Signed-off-by: Gilad Ben-Yossef <gilad@benyossef.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--drivers/crypto/ccree/cc_aead.c3
-rw-r--r--drivers/crypto/ccree/cc_buffer_mgr.c21
-rw-r--r--drivers/crypto/ccree/cc_buffer_mgr.h2
3 files changed, 2 insertions, 24 deletions
diff --git a/drivers/crypto/ccree/cc_aead.c b/drivers/crypto/ccree/cc_aead.c
index 339fabfe3de6..a9779a212b18 100644
--- a/drivers/crypto/ccree/cc_aead.c
+++ b/drivers/crypto/ccree/cc_aead.c
@@ -236,7 +236,8 @@ static void cc_aead_complete(struct device *dev, void *cc_req, int err)
236 /* In case of payload authentication failure, MUST NOT 236 /* In case of payload authentication failure, MUST NOT
237 * revealed the decrypted message --> zero its memory. 237 * revealed the decrypted message --> zero its memory.
238 */ 238 */
239 cc_zero_sgl(areq->dst, areq->cryptlen); 239 sg_zero_buffer(areq->dst, sg_nents(areq->dst),
240 areq->cryptlen, 0);
240 err = -EBADMSG; 241 err = -EBADMSG;
241 } 242 }
242 /*ENCRYPT*/ 243 /*ENCRYPT*/
diff --git a/drivers/crypto/ccree/cc_buffer_mgr.c b/drivers/crypto/ccree/cc_buffer_mgr.c
index c81ad33f9115..a72586eccd81 100644
--- a/drivers/crypto/ccree/cc_buffer_mgr.c
+++ b/drivers/crypto/ccree/cc_buffer_mgr.c
@@ -100,27 +100,6 @@ static unsigned int cc_get_sgl_nents(struct device *dev,
100} 100}
101 101
102/** 102/**
103 * cc_zero_sgl() - Zero scatter scatter list data.
104 *
105 * @sgl:
106 */
107void cc_zero_sgl(struct scatterlist *sgl, u32 data_len)
108{
109 struct scatterlist *current_sg = sgl;
110 int sg_index = 0;
111
112 while (sg_index <= data_len) {
113 if (!current_sg) {
114 /* reached the end of the sgl --> just return back */
115 return;
116 }
117 memset(sg_virt(current_sg), 0, current_sg->length);
118 sg_index += current_sg->length;
119 current_sg = sg_next(current_sg);
120 }
121}
122
123/**
124 * cc_copy_sg_portion() - Copy scatter list data, 103 * cc_copy_sg_portion() - Copy scatter list data,
125 * from to_skip to end, to dest and vice versa 104 * from to_skip to end, to dest and vice versa
126 * 105 *
diff --git a/drivers/crypto/ccree/cc_buffer_mgr.h b/drivers/crypto/ccree/cc_buffer_mgr.h
index a726016bdbc1..af434872c6ff 100644
--- a/drivers/crypto/ccree/cc_buffer_mgr.h
+++ b/drivers/crypto/ccree/cc_buffer_mgr.h
@@ -66,6 +66,4 @@ void cc_unmap_hash_request(struct device *dev, void *ctx,
66void cc_copy_sg_portion(struct device *dev, u8 *dest, struct scatterlist *sg, 66void cc_copy_sg_portion(struct device *dev, u8 *dest, struct scatterlist *sg,
67 u32 to_skip, u32 end, enum cc_sg_cpy_direct direct); 67 u32 to_skip, u32 end, enum cc_sg_cpy_direct direct);
68 68
69void cc_zero_sgl(struct scatterlist *sgl, u32 data_len);
70
71#endif /*__BUFFER_MGR_H__*/ 69#endif /*__BUFFER_MGR_H__*/