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 <wangzhou1@xxxxxxxxxxxxx> This is a bug, thinks for your fix! Best, Zhou > > Fixes: 62c455ca853e ("crypto: hisilicon - add HiSilicon ZIP accelerator support") > Signed-off-by: Yunfeng Ye <yeyunfeng@xxxxxxxxxx> > --- > 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); >