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;
|
u32 *desc;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
|
if (!req->cryptlen)
|
||||||
|
return 0;
|
||||||
|
|
||||||
/* allocate extended descriptor */
|
/* allocate extended descriptor */
|
||||||
edesc = skcipher_edesc_alloc(req, DESC_JOB_IO_LEN * CAAM_CMD_SZ);
|
edesc = skcipher_edesc_alloc(req, DESC_JOB_IO_LEN * CAAM_CMD_SZ);
|
||||||
if (IS_ERR(edesc))
|
if (IS_ERR(edesc))
|
||||||
@ -1918,6 +1921,9 @@ static int skcipher_decrypt(struct skcipher_request *req)
|
|||||||
u32 *desc;
|
u32 *desc;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
|
if (!req->cryptlen)
|
||||||
|
return 0;
|
||||||
|
|
||||||
/* allocate extended descriptor */
|
/* allocate extended descriptor */
|
||||||
edesc = skcipher_edesc_alloc(req, DESC_JOB_IO_LEN * CAAM_CMD_SZ);
|
edesc = skcipher_edesc_alloc(req, DESC_JOB_IO_LEN * CAAM_CMD_SZ);
|
||||||
if (IS_ERR(edesc))
|
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);
|
struct caam_ctx *ctx = crypto_skcipher_ctx(skcipher);
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
if (!req->cryptlen)
|
||||||
|
return 0;
|
||||||
|
|
||||||
if (unlikely(caam_congested))
|
if (unlikely(caam_congested))
|
||||||
return -EAGAIN;
|
return -EAGAIN;
|
||||||
|
|
||||||
|
@ -1499,6 +1499,9 @@ static int skcipher_encrypt(struct skcipher_request *req)
|
|||||||
struct caam_request *caam_req = skcipher_request_ctx(req);
|
struct caam_request *caam_req = skcipher_request_ctx(req);
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
if (!req->cryptlen)
|
||||||
|
return 0;
|
||||||
|
|
||||||
/* allocate extended descriptor */
|
/* allocate extended descriptor */
|
||||||
edesc = skcipher_edesc_alloc(req);
|
edesc = skcipher_edesc_alloc(req);
|
||||||
if (IS_ERR(edesc))
|
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);
|
struct caam_request *caam_req = skcipher_request_ctx(req);
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
if (!req->cryptlen)
|
||||||
|
return 0;
|
||||||
/* allocate extended descriptor */
|
/* allocate extended descriptor */
|
||||||
edesc = skcipher_edesc_alloc(req);
|
edesc = skcipher_edesc_alloc(req);
|
||||||
if (IS_ERR(edesc))
|
if (IS_ERR(edesc))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user