diff options
author | Tom Lendacky <thomas.lendacky@amd.com> | 2014-01-06 13:34:17 -0600 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2014-01-15 11:33:39 +0800 |
commit | 81a59f000e1d4a60a03081a1fc64aee46d6f0c3e (patch) | |
tree | 95c4c83dc6175c6aa6f286676fbbd6c77419d5b8 /drivers/crypto/ccp/ccp-crypto.h | |
parent | 393897c5156a415533ff85aa381458840417b032 (diff) |
crypto: ccp - Change data length declarations to u64
When performing a hash operation if the amount of data buffered and a
request at or near the maximum data length is received then the length
calcuation could wrap causing an error in executing the hash operation.
Fix this by using a u64 type for the input and output data lengths in
all CCP operations.
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto/ccp/ccp-crypto.h')
-rw-r--r-- | drivers/crypto/ccp/ccp-crypto.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/crypto/ccp/ccp-crypto.h b/drivers/crypto/ccp/ccp-crypto.h index 13ea6ea4b45d..b222231b6169 100644 --- a/drivers/crypto/ccp/ccp-crypto.h +++ b/drivers/crypto/ccp/ccp-crypto.h @@ -110,7 +110,10 @@ struct ccp_aes_cmac_req_ctx { unsigned int null_msg; unsigned int final; - unsigned int hash_cnt; + struct scatterlist *src; + unsigned int nbytes; + + u64 hash_cnt; unsigned int hash_rem; struct sg_table data_sg; @@ -149,7 +152,10 @@ struct ccp_sha_req_ctx { unsigned int first; unsigned int final; - unsigned int hash_cnt; + struct scatterlist *src; + unsigned int nbytes; + + u64 hash_cnt; unsigned int hash_rem; struct sg_table data_sg; |