Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5258de8a authored by Tom Lendacky's avatar Tom Lendacky Committed by Herbert Xu
Browse files

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: default avatarTom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent d16b8700
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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;

+4 −1
Original line number Diff line number Diff line
@@ -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;