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: f051f95eb4
("crypto: picoxcell - check return value of sg_nents_for_len")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: LABBE Corentin <clabbe.montjoie@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
f8e28a0dec
commit
f53e38afdc
|
@ -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)
|
||||||
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;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue