Re: [PATCH] crypto: hisilicon/sec2 - Fix false-positive warning of uninitialised qp_ctx

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2025/8/30 16:39, Herbert Xu wrote:
> Fix the false-positive warning of qp_ctx being unitialised in
> sec_request_init.  The value of ctx_q_num defaults to 2 and is
> guaranteed to be non-zero.
> 
> Thus qp_ctx is always initialised.  However, the compiler is
> not aware of this constraint on ctx_q_num.  Restructure the loop
> so that it is obvious to the compiler that ctx_q_num cannot be
> zero.
> 
> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
> 
> diff --git a/drivers/crypto/hisilicon/sec2/sec_crypto.c b/drivers/crypto/hisilicon/sec2/sec_crypto.c
> index d044ded0f290..31590d01139a 100644
> --- a/drivers/crypto/hisilicon/sec2/sec_crypto.c
> +++ b/drivers/crypto/hisilicon/sec2/sec_crypto.c
> @@ -1944,14 +1944,12 @@ static void sec_request_uninit(struct sec_req *req)
>  static int sec_request_init(struct sec_ctx *ctx, struct sec_req *req)
>  {
>  	struct sec_qp_ctx *qp_ctx;
> -	int i;
> +	int i = 0;
>  
> -	for (i = 0; i < ctx->sec->ctx_q_num; i++) {
> +	do {
>  		qp_ctx = &ctx->qp_ctx[i];
>  		req->req_id = sec_alloc_req_id(req, qp_ctx);
> -		if (req->req_id >= 0)
> -			break;
> -	}
> +	} while (req->req_id < 0 && ++i < ctx->sec->ctx_q_num);
>  
>  	req->qp_ctx = qp_ctx;
>  	req->backlog = &qp_ctx->backlog;
>

Reviewed-by: Longfang Liu <liulongfang@xxxxxxxxxx>

Thanks
Longfang.





[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]
  Powered by Linux