All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1494:24: sparse: sparse: incorrect type in assignment (different base types)
@ 2026-11-01  4:11 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-11-01  4:11 UTC (permalink / raw)
  To: Maxime Chevallier; +Cc: oe-kbuild-all, linux-kernel, Paolo Abeni, Andrew Lunn

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   cbbddb6b08cc9900a87cccaa9b22bbe06aa4f50a
commit: 9a56a27e6002e29a6707dc4238d469ec84c3a68e net: stmmac: selftests: Pass the IP proto mask in the TC selftest
date:   9 weeks ago
config: hexagon-randconfig-r2309-20261101 (https://download.01.org/0day-ci/archive/20261101/202611010511.Mk620DTd-lkp@intel.com/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 8f6b51ca8bab1d49006ddaa042bc7e4e7306975d)
sparse: v0.6.5-rc1-21-g84ec0658
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261101/202611010511.Mk620DTd-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Fixes: 9a56a27e6002 ("net: stmmac: selftests: Pass the IP proto mask in the TC selftest")
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202611010511.Mk620DTd-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1118: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:1118:27: sparse:     expected restricted __be32 [usertype] mask
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1118:27: sparse:     got int
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1363: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:1363:18: sparse:     expected restricted __be32 [addressable] [usertype] src
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1363:18: sparse:     got unsigned int [usertype] src_mask
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1364: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:1364:18: sparse:     expected restricted __be32 [addressable] [usertype] dst
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1364:18: sparse:     got unsigned int [usertype] dst_mask
>> drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1494:24: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __be16 [addressable] [assigned] [usertype] src @@     got unsigned int [usertype] src_mask @@
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1494:24: sparse:     expected restricted __be16 [addressable] [assigned] [usertype] src
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1494:24: sparse:     got unsigned int [usertype] src_mask
>> drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1495:24: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __be16 [addressable] [assigned] [usertype] dst @@     got unsigned int [usertype] dst_mask @@
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1495:24: sparse:     expected restricted __be16 [addressable] [assigned] [usertype] dst
   drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1495:24: sparse:     got unsigned int [usertype] dst_mask

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

4647e021193d63 Jose Abreu        2019-09-04  1427  
4647e021193d63 Jose Abreu        2019-09-04  1428  #ifdef CONFIG_NET_CLS_ACT
4647e021193d63 Jose Abreu        2019-09-04  1429  static int __stmmac_test_l4filt(struct stmmac_priv *priv, u32 dst, u32 src,
4647e021193d63 Jose Abreu        2019-09-04  1430  				u32 dst_mask, u32 src_mask, bool udp)
4647e021193d63 Jose Abreu        2019-09-04  1431  {
4647e021193d63 Jose Abreu        2019-09-04  1432  	struct {
4647e021193d63 Jose Abreu        2019-09-04  1433  		struct flow_dissector_key_basic bkey;
4647e021193d63 Jose Abreu        2019-09-04  1434  		struct flow_dissector_key_ports key;
9a56a27e6002e2 Maxime Chevallier 2026-08-25  1435  	} __aligned(BITS_PER_LONG / 8) keys = { };
4647e021193d63 Jose Abreu        2019-09-04  1436  	struct {
4647e021193d63 Jose Abreu        2019-09-04  1437  		struct flow_dissector_key_basic bmask;
4647e021193d63 Jose Abreu        2019-09-04  1438  		struct flow_dissector_key_ports mask;
9a56a27e6002e2 Maxime Chevallier 2026-08-25  1439  	} __aligned(BITS_PER_LONG / 8) masks = { };
4647e021193d63 Jose Abreu        2019-09-04  1440  	unsigned long dummy_cookie = 0xdeadbeef;
4647e021193d63 Jose Abreu        2019-09-04  1441  	struct stmmac_packet_attrs attr = { };
4647e021193d63 Jose Abreu        2019-09-04  1442  	struct flow_dissector *dissector;
4647e021193d63 Jose Abreu        2019-09-04  1443  	struct flow_cls_offload *cls;
e715d745043529 Jose Abreu        2020-01-10  1444  	int ret, old_enable = 0;
4647e021193d63 Jose Abreu        2019-09-04  1445  	struct flow_rule *rule;
4647e021193d63 Jose Abreu        2019-09-04  1446  
4647e021193d63 Jose Abreu        2019-09-04  1447  	if (!tc_can_offload(priv->dev))
4647e021193d63 Jose Abreu        2019-09-04  1448  		return -EOPNOTSUPP;
4647e021193d63 Jose Abreu        2019-09-04  1449  	if (!priv->dma_cap.l3l4fnum)
4647e021193d63 Jose Abreu        2019-09-04  1450  		return -EOPNOTSUPP;
e715d745043529 Jose Abreu        2020-01-10  1451  	if (priv->rss.enable) {
e715d745043529 Jose Abreu        2020-01-10  1452  		old_enable = priv->rss.enable;
e715d745043529 Jose Abreu        2020-01-10  1453  		priv->rss.enable = false;
b6b6cc9acd7b99 Arnd Bergmann     2019-09-19  1454  		stmmac_rss_configure(priv, priv->hw, NULL,
4647e021193d63 Jose Abreu        2019-09-04  1455  				     priv->plat->rx_queues_to_use);
e715d745043529 Jose Abreu        2020-01-10  1456  	}
4647e021193d63 Jose Abreu        2019-09-04  1457  
bf4afc53b77aea Linus Torvalds    2026-02-21  1458  	dissector = kzalloc_obj(*dissector);
4647e021193d63 Jose Abreu        2019-09-04  1459  	if (!dissector) {
4647e021193d63 Jose Abreu        2019-09-04  1460  		ret = -ENOMEM;
4647e021193d63 Jose Abreu        2019-09-04  1461  		goto cleanup_rss;
4647e021193d63 Jose Abreu        2019-09-04  1462  	}
4647e021193d63 Jose Abreu        2019-09-04  1463  
2b3082c6ef3b01 Ratheesh Kannoth  2023-07-29  1464  	dissector->used_keys |= (1ULL << FLOW_DISSECTOR_KEY_BASIC);
2b3082c6ef3b01 Ratheesh Kannoth  2023-07-29  1465  	dissector->used_keys |= (1ULL << FLOW_DISSECTOR_KEY_PORTS);
4647e021193d63 Jose Abreu        2019-09-04  1466  	dissector->offset[FLOW_DISSECTOR_KEY_BASIC] = 0;
4647e021193d63 Jose Abreu        2019-09-04  1467  	dissector->offset[FLOW_DISSECTOR_KEY_PORTS] = offsetof(typeof(keys), key);
4647e021193d63 Jose Abreu        2019-09-04  1468  
bf4afc53b77aea Linus Torvalds    2026-02-21  1469  	cls = kzalloc_obj(*cls);
4647e021193d63 Jose Abreu        2019-09-04  1470  	if (!cls) {
4647e021193d63 Jose Abreu        2019-09-04  1471  		ret = -ENOMEM;
4647e021193d63 Jose Abreu        2019-09-04  1472  		goto cleanup_dissector;
4647e021193d63 Jose Abreu        2019-09-04  1473  	}
4647e021193d63 Jose Abreu        2019-09-04  1474  
4647e021193d63 Jose Abreu        2019-09-04  1475  	cls->common.chain_index = 0;
4647e021193d63 Jose Abreu        2019-09-04  1476  	cls->command = FLOW_CLS_REPLACE;
4647e021193d63 Jose Abreu        2019-09-04  1477  	cls->cookie = dummy_cookie;
4647e021193d63 Jose Abreu        2019-09-04  1478  
323bbfcf1ef883 Linus Torvalds    2026-02-21  1479  	rule = kzalloc_flex(*rule, action.entries, 1);
4647e021193d63 Jose Abreu        2019-09-04  1480  	if (!rule) {
4647e021193d63 Jose Abreu        2019-09-04  1481  		ret = -ENOMEM;
4647e021193d63 Jose Abreu        2019-09-04  1482  		goto cleanup_cls;
4647e021193d63 Jose Abreu        2019-09-04  1483  	}
4647e021193d63 Jose Abreu        2019-09-04  1484  
4647e021193d63 Jose Abreu        2019-09-04  1485  	rule->match.dissector = dissector;
4647e021193d63 Jose Abreu        2019-09-04  1486  	rule->match.key = (void *)&keys;
4647e021193d63 Jose Abreu        2019-09-04  1487  	rule->match.mask = (void *)&masks;
4647e021193d63 Jose Abreu        2019-09-04  1488  
4647e021193d63 Jose Abreu        2019-09-04  1489  	keys.bkey.ip_proto = udp ? IPPROTO_UDP : IPPROTO_TCP;
4647e021193d63 Jose Abreu        2019-09-04  1490  	keys.key.src = htons(src);
4647e021193d63 Jose Abreu        2019-09-04  1491  	keys.key.dst = htons(dst);
9a56a27e6002e2 Maxime Chevallier 2026-08-25  1492  	/* Match the full IP proto field */
9a56a27e6002e2 Maxime Chevallier 2026-08-25  1493  	masks.bmask.ip_proto = 0xff;
4647e021193d63 Jose Abreu        2019-09-04 @1494  	masks.mask.src = src_mask;
4647e021193d63 Jose Abreu        2019-09-04 @1495  	masks.mask.dst = dst_mask;
4647e021193d63 Jose Abreu        2019-09-04  1496  
4647e021193d63 Jose Abreu        2019-09-04  1497  	cls->rule = rule;
4647e021193d63 Jose Abreu        2019-09-04  1498  
4647e021193d63 Jose Abreu        2019-09-04  1499  	rule->action.entries[0].id = FLOW_ACTION_DROP;
0dfb2d82af4cd7 Jakub Kicinski    2020-03-19  1500  	rule->action.entries[0].hw_stats = FLOW_ACTION_HW_STATS_ANY;
4647e021193d63 Jose Abreu        2019-09-04  1501  	rule->action.num_entries = 1;
4647e021193d63 Jose Abreu        2019-09-04  1502  
4647e021193d63 Jose Abreu        2019-09-04  1503  	attr.dst = priv->dev->dev_addr;
4647e021193d63 Jose Abreu        2019-09-04  1504  	attr.tcp = !udp;
4647e021193d63 Jose Abreu        2019-09-04  1505  	attr.sport = src;
4647e021193d63 Jose Abreu        2019-09-04  1506  	attr.dport = dst;
4647e021193d63 Jose Abreu        2019-09-04  1507  	attr.ip_dst = 0;
4647e021193d63 Jose Abreu        2019-09-04  1508  
4647e021193d63 Jose Abreu        2019-09-04  1509  	/* Shall receive packet */
4647e021193d63 Jose Abreu        2019-09-04  1510  	ret = __stmmac_test_loopback(priv, &attr);
4647e021193d63 Jose Abreu        2019-09-04  1511  	if (ret)
4647e021193d63 Jose Abreu        2019-09-04  1512  		goto cleanup_rule;
4647e021193d63 Jose Abreu        2019-09-04  1513  
4647e021193d63 Jose Abreu        2019-09-04  1514  	ret = stmmac_tc_setup_cls(priv, priv, cls);
4647e021193d63 Jose Abreu        2019-09-04  1515  	if (ret)
4647e021193d63 Jose Abreu        2019-09-04  1516  		goto cleanup_rule;
4647e021193d63 Jose Abreu        2019-09-04  1517  
4647e021193d63 Jose Abreu        2019-09-04  1518  	/* Shall NOT receive packet */
4647e021193d63 Jose Abreu        2019-09-04  1519  	ret = __stmmac_test_loopback(priv, &attr);
4647e021193d63 Jose Abreu        2019-09-04  1520  	ret = ret ? 0 : -EINVAL;
4647e021193d63 Jose Abreu        2019-09-04  1521  
4647e021193d63 Jose Abreu        2019-09-04  1522  	cls->command = FLOW_CLS_DESTROY;
4647e021193d63 Jose Abreu        2019-09-04  1523  	stmmac_tc_setup_cls(priv, priv, cls);
4647e021193d63 Jose Abreu        2019-09-04  1524  cleanup_rule:
4647e021193d63 Jose Abreu        2019-09-04  1525  	kfree(rule);
4647e021193d63 Jose Abreu        2019-09-04  1526  cleanup_cls:
4647e021193d63 Jose Abreu        2019-09-04  1527  	kfree(cls);
4647e021193d63 Jose Abreu        2019-09-04  1528  cleanup_dissector:
4647e021193d63 Jose Abreu        2019-09-04  1529  	kfree(dissector);
4647e021193d63 Jose Abreu        2019-09-04  1530  cleanup_rss:
e715d745043529 Jose Abreu        2020-01-10  1531  	if (old_enable) {
e715d745043529 Jose Abreu        2020-01-10  1532  		priv->rss.enable = old_enable;
4647e021193d63 Jose Abreu        2019-09-04  1533  		stmmac_rss_configure(priv, priv->hw, &priv->rss,
4647e021193d63 Jose Abreu        2019-09-04  1534  				     priv->plat->rx_queues_to_use);
4647e021193d63 Jose Abreu        2019-09-04  1535  	}
4647e021193d63 Jose Abreu        2019-09-04  1536  
4647e021193d63 Jose Abreu        2019-09-04  1537  	return ret;
4647e021193d63 Jose Abreu        2019-09-04  1538  }
4647e021193d63 Jose Abreu        2019-09-04  1539  #else
4647e021193d63 Jose Abreu        2019-09-04  1540  static int __stmmac_test_l4filt(struct stmmac_priv *priv, u32 dst, u32 src,
4647e021193d63 Jose Abreu        2019-09-04  1541  				u32 dst_mask, u32 src_mask, bool udp)
4647e021193d63 Jose Abreu        2019-09-04  1542  {
4647e021193d63 Jose Abreu        2019-09-04  1543  	return -EOPNOTSUPP;
4647e021193d63 Jose Abreu        2019-09-04  1544  }
4647e021193d63 Jose Abreu        2019-09-04  1545  #endif
4647e021193d63 Jose Abreu        2019-09-04  1546  

:::::: The code at line 1494 was first introduced by commit
:::::: 4647e021193d638d3c87d1f1b9a5f7f7a48f36a3 net: stmmac: selftests: Add selftest for L3/L4 Filters

:::::: TO: Jose Abreu <Jose.Abreu@synopsys.com>
:::::: CC: David S. Miller <davem@davemloft.net>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-11-01  4:12 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-01  4:11 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c:1494:24: sparse: sparse: incorrect type in assignment (different base types) kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.