RE: [PATCH] crypto: aspeed - Fix sparse warnings

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

 



> -----Original Message-----
> From: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
> Sent: Tuesday, September 6, 2022 1:06 PM
> To: Neal Liu <neal_liu@xxxxxxxxxxxxxx>
> Cc: Linux Crypto Mailing List <linux-crypto@xxxxxxxxxxxxxxx>
> Subject: [PATCH] crypto: aspeed - Fix sparse warnings
> 
> This patch fixes a bunch of bit endianness warnings and two missing static
> modifiers.
> 
> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>

LGTM, thanks.

Reviewed-by: Neal Liu <neal_liu@xxxxxxxxxxxxxx>

> diff --git a/drivers/crypto/aspeed/aspeed-hace-crypto.c
> b/drivers/crypto/aspeed/aspeed-hace-crypto.c
> index ba6158f5cf18..ef73b0028b4d 100644
> --- a/drivers/crypto/aspeed/aspeed-hace-crypto.c
> +++ b/drivers/crypto/aspeed/aspeed-hace-crypto.c
> @@ -258,21 +258,20 @@ static int aspeed_sk_start_sg(struct
> aspeed_hace_dev *hace_dev)
>  	total = req->cryptlen;
> 
>  	for_each_sg(req->src, s, src_sg_len, i) {
> -		src_list[i].phy_addr = sg_dma_address(s);
> +		u32 phy_addr = sg_dma_address(s);
> +		u32 len = sg_dma_len(s);
> 
> -		if (total > sg_dma_len(s)) {
> -			src_list[i].len = sg_dma_len(s);
> -			total -= src_list[i].len;
> -
> -		} else {
> +		if (total > len)
> +			total -= len;
> +		else {
>  			/* last sg list */
> -			src_list[i].len = total;
> -			src_list[i].len |= BIT(31);
> +			len = total;
> +			len |= BIT(31);
>  			total = 0;
>  		}
> 
> -		src_list[i].phy_addr = cpu_to_le32(src_list[i].phy_addr);
> -		src_list[i].len = cpu_to_le32(src_list[i].len);
> +		src_list[i].phy_addr = cpu_to_le32(phy_addr);
> +		src_list[i].len = cpu_to_le32(len);
>  	}
> 
>  	if (total != 0) {
> @@ -290,21 +289,20 @@ static int aspeed_sk_start_sg(struct
> aspeed_hace_dev *hace_dev)
>  		total = req->cryptlen;
> 
>  		for_each_sg(req->dst, s, dst_sg_len, i) {
> -			dst_list[i].phy_addr = sg_dma_address(s);
> -
> -			if (total > sg_dma_len(s)) {
> -				dst_list[i].len = sg_dma_len(s);
> -				total -= dst_list[i].len;
> +			u32 phy_addr = sg_dma_address(s);
> +			u32 len = sg_dma_len(s);
> 
> -			} else {
> +			if (total > len)
> +				total -= len;
> +			else {
>  				/* last sg list */
> -				dst_list[i].len = total;
> -				dst_list[i].len |= BIT(31);
> +				len = total;
> +				len |= BIT(31);
>  				total = 0;
>  			}
> 
> -			dst_list[i].phy_addr = cpu_to_le32(dst_list[i].phy_addr);
> -			dst_list[i].len = cpu_to_le32(dst_list[i].len);
> +			dst_list[i].phy_addr = cpu_to_le32(phy_addr);
> +			dst_list[i].len = cpu_to_le32(len);
> 
>  		}
> 
> @@ -731,7 +729,7 @@ static void aspeed_crypto_cra_exit(struct
> crypto_skcipher *tfm)
>  	crypto_free_skcipher(ctx->fallback_tfm);
>  }
> 
> -struct aspeed_hace_alg aspeed_crypto_algs[] = {
> +static struct aspeed_hace_alg aspeed_crypto_algs[] = {
>  	{
>  		.alg.skcipher = {
>  			.min_keysize	= AES_MIN_KEY_SIZE,
> @@ -1019,7 +1017,7 @@ struct aspeed_hace_alg aspeed_crypto_algs[] = {
>  	},
>  };
> 
> -struct aspeed_hace_alg aspeed_crypto_algs_g6[] = {
> +static struct aspeed_hace_alg aspeed_crypto_algs_g6[] = {
>  	{
>  		.alg.skcipher = {
>  			.ivsize		= AES_BLOCK_SIZE,
> diff --git a/drivers/crypto/aspeed/aspeed-hace-hash.c
> b/drivers/crypto/aspeed/aspeed-hace-hash.c
> index 0a44ffc0e13b..7f7f289fceb7 100644
> --- a/drivers/crypto/aspeed/aspeed-hace-hash.c
> +++ b/drivers/crypto/aspeed/aspeed-hace-hash.c
> @@ -208,6 +208,9 @@ static int aspeed_ahash_dma_prepare_sg(struct
> aspeed_hace_dev *hace_dev)
>  	}
> 
>  	if (rctx->bufcnt != 0) {
> +		u32 phy_addr;
> +		u32 len;
> +
>  		rctx->buffer_dma_addr = dma_map_single(hace_dev->dev,
>  						       rctx->buffer,
>  						       rctx->block_size * 2,
> @@ -218,36 +221,35 @@ static int aspeed_ahash_dma_prepare_sg(struct
> aspeed_hace_dev *hace_dev)
>  			goto free_rctx_digest;
>  		}
> 
> -		src_list[0].phy_addr = rctx->buffer_dma_addr;
> -		src_list[0].len = rctx->bufcnt;
> -		length -= src_list[0].len;
> +		phy_addr = rctx->buffer_dma_addr;
> +		len = rctx->bufcnt;
> +		length -= len;
> 
>  		/* Last sg list */
>  		if (length == 0)
> -			src_list[0].len |= HASH_SG_LAST_LIST;
> +			len |= HASH_SG_LAST_LIST;
> 
> -		src_list[0].phy_addr = cpu_to_le32(src_list[0].phy_addr);
> -		src_list[0].len = cpu_to_le32(src_list[0].len);
> +		src_list[0].phy_addr = cpu_to_le32(phy_addr);
> +		src_list[0].len = cpu_to_le32(len);
>  		src_list++;
>  	}
> 
>  	if (length != 0) {
>  		for_each_sg(rctx->src_sg, s, sg_len, i) {
> -			src_list[i].phy_addr = sg_dma_address(s);
> -
> -			if (length > sg_dma_len(s)) {
> -				src_list[i].len = sg_dma_len(s);
> -				length -= sg_dma_len(s);
> +			u32 phy_addr = sg_dma_address(s);
> +			u32 len = sg_dma_len(s);
> 
> -			} else {
> +			if (length > len)
> +				length -= len;
> +			else {
>  				/* Last sg list */
> -				src_list[i].len = length;
> -				src_list[i].len |= HASH_SG_LAST_LIST;
> +				len = length;
> +				len |= HASH_SG_LAST_LIST;
>  				length = 0;
>  			}
> 
> -			src_list[i].phy_addr = cpu_to_le32(src_list[i].phy_addr);
> -			src_list[i].len = cpu_to_le32(src_list[i].len);
> +			src_list[i].phy_addr = cpu_to_le32(phy_addr);
> +			src_list[i].len = cpu_to_le32(len);
>  		}
>  	}
> 
> @@ -913,7 +915,7 @@ static int aspeed_sham_import(struct ahash_request
> *req, const void *in)
>  	return 0;
>  }
> 
> -struct aspeed_hace_alg aspeed_ahash_algs[] = {
> +static struct aspeed_hace_alg aspeed_ahash_algs[] = {
>  	{
>  		.alg.ahash = {
>  			.init	= aspeed_sham_init,
> @@ -1099,7 +1101,7 @@ struct aspeed_hace_alg aspeed_ahash_algs[] = {
>  	},
>  };
> 
> -struct aspeed_hace_alg aspeed_ahash_algs_g6[] = {
> +static struct aspeed_hace_alg aspeed_ahash_algs_g6[] = {
>  	{
>  		.alg.ahash = {
>  			.init	= aspeed_sham_init,
> --
> Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page:
> http://gondor.apana.org.au/~herbert/
> PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt




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