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: Harsh Jain <harsh@chelsio.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
@@ -149,6 +149,7 @@
|
||||
|
||||
#define CHCR_HASH_MAX_BLOCK_SIZE_64 64
|
||||
#define CHCR_HASH_MAX_BLOCK_SIZE_128 128
|
||||
#define CHCR_SG_SIZE 2048
|
||||
|
||||
/* Aligned to 128 bit boundary */
|
||||
|
||||
@@ -164,6 +165,7 @@ struct ablk_ctx {
|
||||
struct chcr_aead_reqctx {
|
||||
struct sk_buff *skb;
|
||||
struct scatterlist *dst;
|
||||
struct scatterlist *newdstsg;
|
||||
struct scatterlist srcffwd[2];
|
||||
struct scatterlist dstffwd[2];
|
||||
short int dst_nents;
|
||||
@@ -287,6 +289,10 @@ static int chcr_aead_op(struct aead_request *req_base,
|
||||
int size,
|
||||
create_wr_t create_wr_fn);
|
||||
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,
|
||||
unsigned char *input, int err);
|
||||
#endif /* __CHCR_CRYPTO_H__ */
|
||||
|
Reference in New Issue
Block a user