crypto: ccp - Apply appropriate gfp_t type to memory allocations
Fix some memory allocations to use the appropriate gfp_t type based on the CRYPTO_TFM_REQ_MAY_SLEEP flag. Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
d16b87003f
commit
5258de8af0
@ -61,6 +61,7 @@ static int ccp_do_cmac_update(struct ahash_request *req, unsigned int nbytes,
|
||||
unsigned int block_size =
|
||||
crypto_tfm_alg_blocksize(crypto_ahash_tfm(tfm));
|
||||
unsigned int len, need_pad, sg_count;
|
||||
gfp_t gfp;
|
||||
int ret;
|
||||
|
||||
if (!ctx->u.aes.key_len)
|
||||
@ -99,7 +100,9 @@ static int ccp_do_cmac_update(struct ahash_request *req, unsigned int nbytes,
|
||||
* possible data pieces (buffer, input data, padding)
|
||||
*/
|
||||
sg_count = (nbytes) ? sg_nents(req->src) + 2 : 2;
|
||||
ret = sg_alloc_table(&rctx->data_sg, sg_count, GFP_KERNEL);
|
||||
gfp = req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP ?
|
||||
GFP_KERNEL : GFP_ATOMIC;
|
||||
ret = sg_alloc_table(&rctx->data_sg, sg_count, gfp);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
|
@ -128,6 +128,7 @@ static int ccp_do_sha_update(struct ahash_request *req, unsigned int nbytes,
|
||||
unsigned int block_size =
|
||||
crypto_tfm_alg_blocksize(crypto_ahash_tfm(tfm));
|
||||
unsigned int len, sg_count;
|
||||
gfp_t gfp;
|
||||
int ret;
|
||||
|
||||
if (!final && ((nbytes + rctx->buf_count) <= block_size)) {
|
||||
@ -156,7 +157,9 @@ static int ccp_do_sha_update(struct ahash_request *req, unsigned int nbytes,
|
||||
* possible data pieces (hmac ipad, buffer, input data)
|
||||
*/
|
||||
sg_count = (nbytes) ? sg_nents(req->src) + 2 : 2;
|
||||
ret = sg_alloc_table(&rctx->data_sg, sg_count, GFP_KERNEL);
|
||||
gfp = req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP ?
|
||||
GFP_KERNEL : GFP_ATOMIC;
|
||||
ret = sg_alloc_table(&rctx->data_sg, sg_count, gfp);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user