summaryrefslogtreecommitdiff
path: root/include/linux/ccp.h
diff options
context:
space:
mode:
authorTom Lendacky <thomas.lendacky@amd.com>2014-01-06 13:34:17 -0600
committerHerbert Xu <herbert@gondor.apana.org.au>2014-01-15 11:33:39 +0800
commit81a59f000e1d4a60a03081a1fc64aee46d6f0c3e (patch)
tree95c4c83dc6175c6aa6f286676fbbd6c77419d5b8 /include/linux/ccp.h
parent393897c5156a415533ff85aa381458840417b032 (diff)
downloadlwn-81a59f000e1d4a60a03081a1fc64aee46d6f0c3e.tar.gz
lwn-81a59f000e1d4a60a03081a1fc64aee46d6f0c3e.zip
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 'include/linux/ccp.h')
-rw-r--r--include/linux/ccp.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/include/linux/ccp.h b/include/linux/ccp.h
index e8c23493ab4b..12f1cfdbd3a3 100644
--- a/include/linux/ccp.h
+++ b/include/linux/ccp.h
@@ -133,7 +133,7 @@ struct ccp_aes_engine {
u32 iv_len; /* In bytes */
struct scatterlist *src, *dst;
- u32 src_len; /* In bytes */
+ u64 src_len; /* In bytes */
u32 cmac_final; /* Indicates final cmac cmd */
struct scatterlist *cmac_key; /* K1/K2 cmac key required for
@@ -190,7 +190,7 @@ struct ccp_xts_aes_engine {
u32 iv_len; /* In bytes */
struct scatterlist *src, *dst;
- u32 src_len; /* In bytes */
+ u64 src_len; /* In bytes */
u32 final;
};
@@ -237,7 +237,7 @@ struct ccp_sha_engine {
u32 ctx_len; /* In bytes */
struct scatterlist *src;
- u32 src_len; /* In bytes */
+ u64 src_len; /* In bytes */
u32 final; /* Indicates final sha cmd */
u64 msg_bits; /* Message length in bits required for
@@ -328,7 +328,7 @@ struct ccp_passthru_engine {
u32 mask_len; /* In bytes */
struct scatterlist *src, *dst;
- u32 src_len; /* In bytes */
+ u64 src_len; /* In bytes */
u32 final;
};