From 81a59f000e1d4a60a03081a1fc64aee46d6f0c3e Mon Sep 17 00:00:00 2001 From: Tom Lendacky Date: Mon, 6 Jan 2014 13:34:17 -0600 Subject: 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 Signed-off-by: Herbert Xu --- include/linux/ccp.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'include/linux/ccp.h') 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; }; -- cgit v1.2.3