]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
crypto: hisilicon - Fix return value check in hisi_zip_acompress()
authorYunfeng Ye <yeyunfeng@huawei.com>
Mon, 16 Sep 2019 06:38:25 +0000 (14:38 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 20 Sep 2019 12:53:09 +0000 (22:53 +1000)
The return valude of add_comp_head() is int, but @head_size is size_t,
which is a unsigned type.

size_t head_size;
...
if (head_size < 0)  // it will never work
return -ENOMEM

Modify the type of @head_size to int, then change the type to size_t
when invoke hisi_zip_create_req() as a parameter.

Fixes: 62c455ca853e ("crypto: hisilicon - add HiSilicon ZIP accelerator support")
Signed-off-by: Yunfeng Ye <yeyunfeng@huawei.com>
Acked-by: Zhou Wang <wangzhou1@hisilicon.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/hisilicon/zip/zip_crypto.c

index 5a3f84dcdcde7a113b75036bc87226e735a3d58e..59023545a1c4b6bf65181d20e852d6790a7b1a26 100644 (file)
@@ -559,7 +559,7 @@ static int hisi_zip_acompress(struct acomp_req *acomp_req)
        struct hisi_zip_ctx *ctx = crypto_tfm_ctx(acomp_req->base.tfm);
        struct hisi_zip_qp_ctx *qp_ctx = &ctx->qp_ctx[QPC_COMP];
        struct hisi_zip_req *req;
-       size_t head_size;
+       int head_size;
        int ret;
 
        /* let's output compression head now */
@@ -567,7 +567,7 @@ static int hisi_zip_acompress(struct acomp_req *acomp_req)
        if (head_size < 0)
                return -ENOMEM;
 
-       req = hisi_zip_create_req(acomp_req, qp_ctx, head_size, true);
+       req = hisi_zip_create_req(acomp_req, qp_ctx, (size_t)head_size, true);
        if (IS_ERR(req))
                return PTR_ERR(req);