crypto: caam - check zero-length input
Check zero-length input, for skcipher algorithm, to solve the extra tests. This is a valid operation, therefore the API will return no error. Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com> Reviewed-by: Horia Geanta <horia.geanta@nxp.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
		
							parent
							
								
									fcd23ed57c
								
							
						
					
					
						commit
						31bb2f0da1
					
				| @ -1884,6 +1884,9 @@ static int skcipher_encrypt(struct skcipher_request *req) | ||||
| 	u32 *desc; | ||||
| 	int ret = 0; | ||||
| 
 | ||||
| 	if (!req->cryptlen) | ||||
| 		return 0; | ||||
| 
 | ||||
| 	/* allocate extended descriptor */ | ||||
| 	edesc = skcipher_edesc_alloc(req, DESC_JOB_IO_LEN * CAAM_CMD_SZ); | ||||
| 	if (IS_ERR(edesc)) | ||||
| @ -1918,6 +1921,9 @@ static int skcipher_decrypt(struct skcipher_request *req) | ||||
| 	u32 *desc; | ||||
| 	int ret = 0; | ||||
| 
 | ||||
| 	if (!req->cryptlen) | ||||
| 		return 0; | ||||
| 
 | ||||
| 	/* allocate extended descriptor */ | ||||
| 	edesc = skcipher_edesc_alloc(req, DESC_JOB_IO_LEN * CAAM_CMD_SZ); | ||||
| 	if (IS_ERR(edesc)) | ||||
|  | ||||
| @ -1445,6 +1445,9 @@ static inline int skcipher_crypt(struct skcipher_request *req, bool encrypt) | ||||
| 	struct caam_ctx *ctx = crypto_skcipher_ctx(skcipher); | ||||
| 	int ret; | ||||
| 
 | ||||
| 	if (!req->cryptlen) | ||||
| 		return 0; | ||||
| 
 | ||||
| 	if (unlikely(caam_congested)) | ||||
| 		return -EAGAIN; | ||||
| 
 | ||||
|  | ||||
| @ -1499,6 +1499,9 @@ static int skcipher_encrypt(struct skcipher_request *req) | ||||
| 	struct caam_request *caam_req = skcipher_request_ctx(req); | ||||
| 	int ret; | ||||
| 
 | ||||
| 	if (!req->cryptlen) | ||||
| 		return 0; | ||||
| 
 | ||||
| 	/* allocate extended descriptor */ | ||||
| 	edesc = skcipher_edesc_alloc(req); | ||||
| 	if (IS_ERR(edesc)) | ||||
| @ -1527,6 +1530,8 @@ static int skcipher_decrypt(struct skcipher_request *req) | ||||
| 	struct caam_request *caam_req = skcipher_request_ctx(req); | ||||
| 	int ret; | ||||
| 
 | ||||
| 	if (!req->cryptlen) | ||||
| 		return 0; | ||||
| 	/* allocate extended descriptor */ | ||||
| 	edesc = skcipher_edesc_alloc(req); | ||||
| 	if (IS_ERR(edesc)) | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user