Commit f53e38af authored by LABBE Corentin's avatar LABBE Corentin Committed by Herbert Xu

crypto: picoxcell - set [src|dst]_nents and nents as signed int

The unsigned int variables [src|dst]_nents and nents can be assigned
signed value (-EINVAL) from sg_nents_for_len().
Furthermore they are used only by dma_map_sg and dma_unmap_sg which wait
for an signed int, so they must be set as int.

Fixes: f051f95e ("crypto: picoxcell - check return value of sg_nents_for_len")
Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarLABBE Corentin <clabbe.montjoie@gmail.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent f8e28a0d
...@@ -289,10 +289,11 @@ static struct spacc_ddt *spacc_sg_to_ddt(struct spacc_engine *engine, ...@@ -289,10 +289,11 @@ static struct spacc_ddt *spacc_sg_to_ddt(struct spacc_engine *engine,
enum dma_data_direction dir, enum dma_data_direction dir,
dma_addr_t *ddt_phys) dma_addr_t *ddt_phys)
{ {
unsigned nents, mapped_ents; unsigned mapped_ents;
struct scatterlist *cur; struct scatterlist *cur;
struct spacc_ddt *ddt; struct spacc_ddt *ddt;
int i; int i;
int nents;
nents = sg_nents_for_len(payload, nbytes); nents = sg_nents_for_len(payload, nbytes);
if (nents < 0) { if (nents < 0) {
...@@ -326,7 +327,7 @@ static int spacc_aead_make_ddts(struct aead_request *areq) ...@@ -326,7 +327,7 @@ static int spacc_aead_make_ddts(struct aead_request *areq)
struct spacc_engine *engine = req->engine; struct spacc_engine *engine = req->engine;
struct spacc_ddt *src_ddt, *dst_ddt; struct spacc_ddt *src_ddt, *dst_ddt;
unsigned total; unsigned total;
unsigned int src_nents, dst_nents; int src_nents, dst_nents;
struct scatterlist *cur; struct scatterlist *cur;
int i, dst_ents, src_ents; int i, dst_ents, src_ents;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment