On 2019/9/16 14:38, Yunfeng Ye wrote:
> 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.

Acked-by: Zhou Wang <[email protected]>

This is a bug, thinks for your fix!

Best,
Zhou

> 
> Fixes: 62c455ca853e ("crypto: hisilicon - add HiSilicon ZIP accelerator 
> support")
> Signed-off-by: Yunfeng Ye <[email protected]>
> ---
>  drivers/crypto/hisilicon/zip/zip_crypto.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/crypto/hisilicon/zip/zip_crypto.c 
> b/drivers/crypto/hisilicon/zip/zip_crypto.c
> index 5a3f84d..5902354 100644
> --- a/drivers/crypto/hisilicon/zip/zip_crypto.c
> +++ b/drivers/crypto/hisilicon/zip/zip_crypto.c
> @@ -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);
> 

Reply via email to