drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1225:18: sparse: sparse: incorrect type in assignment (different base types)

2020-07-23 Thread kernel test robot
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   f37e99aca03f63aa3f2bd13ceaf769455d12c4b0
commit: 4647e021193d638d3c87d1f1b9a5f7f7a48f36a3 net: stmmac: selftests: Add 
selftest for L3/L4 Filters
date:   11 months ago
config: powerpc-randconfig-s032-20200723 (attached as .config)
compiler: powerpc-linux-gcc (GCC) 9.3.0
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-93-g4c6cbe55-dirty
git checkout 4647e021193d638d3c87d1f1b9a5f7f7a48f36a3
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=powerpc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot 


sparse warnings: (new ones prefixed by >>)

   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:991:27: sparse: 
sparse: incorrect type in assignment (different base types) @@ expected 
restricted __be32 [usertype] mask @@ got int @@
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:991:27: sparse: 
expected restricted __be32 [usertype] mask
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:991:27: sparse: 
got int
>> drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1225:18: sparse: 
>> sparse: incorrect type in assignment (different base types) @@ expected 
>> restricted __be32 [addressable] [usertype] src @@ got unsigned int 
>> [usertype] src_mask @@
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1225:18: sparse: 
expected restricted __be32 [addressable] [usertype] src
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1225:18: sparse: 
got unsigned int [usertype] src_mask
>> drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1226:18: sparse: 
>> sparse: incorrect type in assignment (different base types) @@ expected 
>> restricted __be32 [addressable] [usertype] dst @@ got unsigned int 
>> [usertype] dst_mask @@
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1226:18: sparse: 
expected restricted __be32 [addressable] [usertype] dst
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1226:18: sparse: 
got unsigned int [usertype] dst_mask
>> drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1352:24: sparse: 
>> sparse: incorrect type in assignment (different base types) @@ expected 
>> restricted __be16 [addressable] [usertype] src @@ got unsigned int 
>> [usertype] src_mask @@
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1352:24: sparse: 
expected restricted __be16 [addressable] [usertype] src
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1352:24: sparse: 
got unsigned int [usertype] src_mask
>> drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1353:24: sparse: 
>> sparse: incorrect type in assignment (different base types) @@ expected 
>> restricted __be16 [addressable] [usertype] dst @@ got unsigned int 
>> [usertype] dst_mask @@
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1353:24: sparse: 
expected restricted __be16 [addressable] [usertype] dst
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1353:24: sparse: 
got unsigned int [usertype] dst_mask

vim +1225 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c

  1170  
  1171  #ifdef CONFIG_NET_CLS_ACT
  1172  static int __stmmac_test_l3filt(struct stmmac_priv *priv, u32 dst, u32 
src,
  1173  u32 dst_mask, u32 src_mask)
  1174  {
  1175  struct flow_dissector_key_ipv4_addrs key, mask;
  1176  unsigned long dummy_cookie = 0xdeadbeef;
  1177  struct stmmac_packet_attrs attr = { };
  1178  struct flow_dissector *dissector;
  1179  struct flow_cls_offload *cls;
  1180  struct flow_rule *rule;
  1181  int ret;
  1182  
  1183  if (!tc_can_offload(priv->dev))
  1184  return -EOPNOTSUPP;
  1185  if (!priv->dma_cap.l3l4fnum)
  1186  return -EOPNOTSUPP;
  1187  if (priv->rss.enable) {
  1188  struct stmmac_rss rss = { .enable = false, };
  1189  
  1190  stmmac_rss_configure(priv, priv->hw, ,
  1191   priv->plat->rx_queues_to_use);
  1192  }
  1193  
  1194  dissector = kzalloc(sizeof(*dissector), GFP_KERNEL);
  1195  if (!dissector) {
  1196  ret = -ENOMEM;
  1197  goto cleanup_rss;
  1198  }
  1199  
  1200  dissector->used_keys |= (1 << FLOW_DISSECTOR_KEY_IPV4_ADDRS);
  1201  dissector->offset[FLOW

drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1225:18: sparse: sparse: incorrect type in assignment (different base types)

2020-06-21 Thread kernel test robot
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   6469e8962c20b580b471790fe42367750599
commit: 4647e021193d638d3c87d1f1b9a5f7f7a48f36a3 net: stmmac: selftests: Add 
selftest for L3/L4 Filters
date:   10 months ago
config: riscv-randconfig-s031-20200621 (attached as .config)
compiler: riscv32-linux-gcc (GCC) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-rc2-13-gc59158c8-dirty
git checkout 4647e021193d638d3c87d1f1b9a5f7f7a48f36a3
# save the attached .config to linux build tree
make W=1 C=1 ARCH=riscv CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot 


sparse warnings: (new ones prefixed by >>)

   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:991:27: sparse: 
sparse: incorrect type in assignment (different base types) @@ expected 
restricted __be32 [usertype] mask @@ got int @@
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:991:27: sparse: 
expected restricted __be32 [usertype] mask
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:991:27: sparse: 
got int
>> drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1225:18: sparse: 
>> sparse: incorrect type in assignment (different base types) @@ expected 
>> restricted __be32 [addressable] [usertype] src @@ got unsigned int 
>> [usertype] src_mask @@
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1225:18: sparse: 
expected restricted __be32 [addressable] [usertype] src
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1225:18: sparse: 
got unsigned int [usertype] src_mask
>> drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1226:18: sparse: 
>> sparse: incorrect type in assignment (different base types) @@ expected 
>> restricted __be32 [addressable] [usertype] dst @@ got unsigned int 
>> [usertype] dst_mask @@
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1226:18: sparse: 
expected restricted __be32 [addressable] [usertype] dst
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1226:18: sparse: 
got unsigned int [usertype] dst_mask
>> drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1352:24: sparse: 
>> sparse: incorrect type in assignment (different base types) @@ expected 
>> restricted __be16 [addressable] [usertype] src @@ got unsigned int 
>> [usertype] src_mask @@
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1352:24: sparse: 
expected restricted __be16 [addressable] [usertype] src
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1352:24: sparse: 
got unsigned int [usertype] src_mask
>> drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1353:24: sparse: 
>> sparse: incorrect type in assignment (different base types) @@ expected 
>> restricted __be16 [addressable] [usertype] dst @@ got unsigned int 
>> [usertype] dst_mask @@
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1353:24: sparse: 
expected restricted __be16 [addressable] [usertype] dst
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1353:24: sparse: 
got unsigned int [usertype] dst_mask

vim +1225 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c

  1170  
  1171  #ifdef CONFIG_NET_CLS_ACT
  1172  static int __stmmac_test_l3filt(struct stmmac_priv *priv, u32 dst, u32 
src,
  1173  u32 dst_mask, u32 src_mask)
  1174  {
  1175  struct flow_dissector_key_ipv4_addrs key, mask;
  1176  unsigned long dummy_cookie = 0xdeadbeef;
  1177  struct stmmac_packet_attrs attr = { };
  1178  struct flow_dissector *dissector;
  1179  struct flow_cls_offload *cls;
  1180  struct flow_rule *rule;
  1181  int ret;
  1182  
  1183  if (!tc_can_offload(priv->dev))
  1184  return -EOPNOTSUPP;
  1185  if (!priv->dma_cap.l3l4fnum)
  1186  return -EOPNOTSUPP;
  1187  if (priv->rss.enable) {
  1188  struct stmmac_rss rss = { .enable = false, };
  1189  
  1190  stmmac_rss_configure(priv, priv->hw, ,
  1191   priv->plat->rx_queues_to_use);
  1192  }
  1193  
  1194  dissector = kzalloc(sizeof(*dissector), GFP_KERNEL);
  1195  if (!dissector) {
  1196  ret = -ENOMEM;
  1197  goto cleanup_rss;
  1198  }
  1199  
  1200  dissector->used_keys |= (1 << FLOW_DISSECTOR_KEY_IPV4_ADDRS);
  1201  dissector->offset[FLOW_DISSECTOR_KEY_IPV4_ADDRS] = 0;
  1202  
  1203  cls = kzalloc(sizeof(*cls), GFP_KERNEL);
  1204  if (!cls) {
  1205  ret = -ENOMEM;
  1206  goto cleanu