[linux-next:master 2159/4141] drivers/net/ethernet/mellanox/mlx5/core/lib/dm.c:34 mlx5_dm_create() warn: should '(((1))) << + (($expr_0x7fbd58df5790(30)) / 32))))) >> (32 - 8 - (($expr_0x7fbd58df5d30(30)) & 31))) & (((1 << 8) - 1))) - (...

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

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   d98f554b318f57ded14684c04b3337a1975cf490
commit: 960984d964a9341cf50bf2b4ffdf0beb14467517 [2159/4141] include/linux/compiler-gcc.h: sparse can do constant folding of __builtin_bswap*()
config: i386-randconfig-m021-20210312 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

New smatch warnings:
drivers/net/ethernet/mellanox/mlx5/core/lib/dm.c:34 mlx5_dm_create() warn: should '(((1))) << (((__builtin_bswap32(((*((dev->caps.hca_cur[15]) + (($expr_0x7fbd58df5790(30)) / 32))))) >> (32 - 8 - (($expr_0x7fbd58df5d30(30)) & 31))) & (((1 << 8) - 1))) - (((__builtin_bswap32(((*((dev->caps.hca_cur[15]) + (($expr_0x7fbd58df6af0(30)) / 32))))) >> (32 - 6 - (($expr_0x7fbd58df7090(30)) & 31))) & (((1 << 6) - 1)))))' be a 64 bit type?

Old smatch warnings:
drivers/net/ethernet/mellanox/mlx5/core/lib/dm.c:46 mlx5_dm_create() warn: should '(((1))) << (((__builtin_bswap32(((*((dev->caps.hca_cur[15]) + (($expr_0x7fbd58df9610(30)) / 32))))) >> (32 - 8 - (($expr_0x7fbd58df9bb0(30)) & 31))) & (((1 << 8) - 1))) - (((__builtin_bswap32(((*((dev->caps.hca_cur[15]) + (($expr_0x7fbd58dfa970(30)) / 32))))) >> (32 - 6 - (($expr_0x7fbd58dfaf10(30)) & 31))) & (((1 << 6) - 1)))))' be a 64 bit type?

vim +34 drivers/net/ethernet/mellanox/mlx5/core/lib/dm.c

c9b9dcb430b3cd Ariel Levkovich 2019-08-29  16  
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  17  struct mlx5_dm *mlx5_dm_create(struct mlx5_core_dev *dev)
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  18  {
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  19  	u64 header_modify_icm_blocks = 0;
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  20  	u64 steering_icm_blocks = 0;
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  21  	struct mlx5_dm *dm;
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  22  
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  23  	if (!(MLX5_CAP_GEN_64(dev, general_obj_types) & MLX5_GENERAL_OBJ_TYPES_CAP_SW_ICM))
586ee9e8a3b007 Saeed Mahameed  2020-01-22  24  		return NULL;
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  25  
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  26  	dm = kzalloc(sizeof(*dm), GFP_KERNEL);
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  27  	if (!dm)
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  28  		return ERR_PTR(-ENOMEM);
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  29  
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  30  	spin_lock_init(&dm->lock);
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  31  
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  32  	if (MLX5_CAP64_DEV_MEM(dev, steering_sw_icm_start_address)) {
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  33  		steering_icm_blocks =
c9b9dcb430b3cd Ariel Levkovich 2019-08-29 @34  			BIT(MLX5_CAP_DEV_MEM(dev, log_steering_sw_icm_size) -
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  35  			    MLX5_LOG_SW_ICM_BLOCK_SIZE(dev));
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  36  
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  37  		dm->steering_sw_icm_alloc_blocks =
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  38  			kcalloc(BITS_TO_LONGS(steering_icm_blocks),
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  39  				sizeof(unsigned long), GFP_KERNEL);
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  40  		if (!dm->steering_sw_icm_alloc_blocks)
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  41  			goto err_steering;
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  42  	}
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  43  
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  44  	if (MLX5_CAP64_DEV_MEM(dev, header_modify_sw_icm_start_address)) {
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  45  		header_modify_icm_blocks =
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  46  			BIT(MLX5_CAP_DEV_MEM(dev, log_header_modify_sw_icm_size) -
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  47  			    MLX5_LOG_SW_ICM_BLOCK_SIZE(dev));
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  48  
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  49  		dm->header_modify_sw_icm_alloc_blocks =
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  50  			kcalloc(BITS_TO_LONGS(header_modify_icm_blocks),
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  51  				sizeof(unsigned long), GFP_KERNEL);
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  52  		if (!dm->header_modify_sw_icm_alloc_blocks)
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  53  			goto err_modify_hdr;
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  54  	}
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  55  
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  56  	return dm;
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  57  
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  58  err_modify_hdr:
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  59  	kfree(dm->steering_sw_icm_alloc_blocks);
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  60  
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  61  err_steering:
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  62  	kfree(dm);
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  63  
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  64  	return ERR_PTR(-ENOMEM);
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  65  }
c9b9dcb430b3cd Ariel Levkovich 2019-08-29  66  

:::::: The code at line 34 was first introduced by commit
:::::: c9b9dcb430b3cd0ad2b04c360c4e528d73430481 net/mlx5: Move device memory management to mlx5_core

:::::: TO: Ariel Levkovich <lariel@xxxxxxxxxxxx>
:::::: CC: Saeed Mahameed <saeedm@xxxxxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux