Commit 738bff48 authored by Harsh Jain's avatar Harsh Jain Committed by Herbert Xu

crypto: chcr - Ensure Destination sg entry size less than 2k

Allocate new sg list in case received destination sg list has entry
greater that 2k.
Signed-off-by: default avatarHarsh Jain <harsh@chelsio.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 72cb471c
This diff is collapsed.
...@@ -149,6 +149,7 @@ ...@@ -149,6 +149,7 @@
#define CHCR_HASH_MAX_BLOCK_SIZE_64 64 #define CHCR_HASH_MAX_BLOCK_SIZE_64 64
#define CHCR_HASH_MAX_BLOCK_SIZE_128 128 #define CHCR_HASH_MAX_BLOCK_SIZE_128 128
#define CHCR_SG_SIZE 2048
/* Aligned to 128 bit boundary */ /* Aligned to 128 bit boundary */
...@@ -164,6 +165,7 @@ struct ablk_ctx { ...@@ -164,6 +165,7 @@ struct ablk_ctx {
struct chcr_aead_reqctx { struct chcr_aead_reqctx {
struct sk_buff *skb; struct sk_buff *skb;
struct scatterlist *dst; struct scatterlist *dst;
struct scatterlist *newdstsg;
struct scatterlist srcffwd[2]; struct scatterlist srcffwd[2];
struct scatterlist dstffwd[2]; struct scatterlist dstffwd[2];
short int dst_nents; short int dst_nents;
...@@ -287,6 +289,10 @@ static int chcr_aead_op(struct aead_request *req_base, ...@@ -287,6 +289,10 @@ static int chcr_aead_op(struct aead_request *req_base,
int size, int size,
create_wr_t create_wr_fn); create_wr_t create_wr_fn);
static inline int get_aead_subtype(struct crypto_aead *aead); static inline int get_aead_subtype(struct crypto_aead *aead);
static int is_newsg(struct scatterlist *sgl, unsigned int *newents);
static struct scatterlist *alloc_new_sg(struct scatterlist *sgl,
unsigned int nents);
static inline void free_new_sg(struct scatterlist *sgl);
static int chcr_handle_cipher_resp(struct ablkcipher_request *req, static int chcr_handle_cipher_resp(struct ablkcipher_request *req,
unsigned char *input, int err); unsigned char *input, int err);
#endif /* __CHCR_CRYPTO_H__ */ #endif /* __CHCR_CRYPTO_H__ */
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