All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/net/dsa/sja1105/sja1105_main.c:521 sja1105_init_l2_forwarding() warn: should '(((1))) << to' be a 64 bit type?
@ 2022-02-11 20:53 kernel test robot
  0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2022-02-11 20:53 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 12948 bytes --]

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Vladimir Oltean <vladimir.oltean@nxp.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   f1baf68e1383f6ed93eb9cff2866d46562607a43
commit: 3fa212707b8e6026cea6a92faea87f556e0cba9b net: dsa: sja1105: manage the forwarding domain towards DSA ports
date:   6 months ago
:::::: branch date: 21 hours ago
:::::: commit date: 6 months ago
config: m68k-randconfig-m031-20220211 (https://download.01.org/0day-ci/archive/20220212/202202120420.pvX6SRFk-lkp(a)intel.com/config)
compiler: m68k-linux-gcc (GCC) 11.2.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
drivers/net/dsa/sja1105/sja1105_main.c:521 sja1105_init_l2_forwarding() warn: should '(((1))) << to' be a 64 bit type?

Old smatch warnings:
drivers/net/dsa/sja1105/sja1105_main.c:49 sja1105_port_allow_traffic() warn: should '(((1))) << to' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:57 sja1105_can_forward() warn: should '((((1))) << to)' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:129 sja1105_commit_pvid() warn: should '((((1))) << port)' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:248 sja1105_init_mii_settings() warn: is 'table->entries' large enough for 'struct sja1105_xmii_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:260 sja1105_init_mii_settings() warn: is 'table->entries' large enough for 'struct sja1105_xmii_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:269 sja1105_init_mii_settings() warn: is 'table->entries' large enough for 'struct sja1105_xmii_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:278 sja1105_init_mii_settings() warn: is 'table->entries' large enough for 'struct sja1105_xmii_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:284 sja1105_init_mii_settings() warn: is 'table->entries' large enough for 'struct sja1105_xmii_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:291 sja1105_init_mii_settings() warn: is 'table->entries' large enough for 'struct sja1105_xmii_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:522 sja1105_init_l2_forwarding() warn: should '(((1))) << to' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:543 sja1105_init_l2_forwarding() warn: should '(((1))) << to' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:544 sja1105_init_l2_forwarding() warn: should '(((1))) << to' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:640 sja1105_init_l2_forwarding_params() warn: is 'table->entries' large enough for 'struct sja1105_l2_forwarding_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:773 sja1105_init_topology() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:884 sja1105_init_avb_params() warn: is 'table->entries' large enough for 'struct sja1105_avb_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:1351 sja1105_find_static_fdb_entry() warn: should '((((1))) << port)' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1469 sja1105et_fdb_add() warn: should '((((1))) << port)' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1471 sja1105et_fdb_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1479 sja1105et_fdb_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1565 sja1105pqrs_fdb_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1573 sja1105pqrs_fdb_add() warn: should '((((1))) << port)' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1578 sja1105pqrs_fdb_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1628 sja1105pqrs_fdb_del() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1697 sja1105_fdb_dump() warn: should '((((1))) << port)' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1749 sja1105_manage_flood_domains() warn: should '(((1))) << to' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1751 sja1105_manage_flood_domains() warn: should '(((1))) << to' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:2244 sja1105_vlan_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:2245 sja1105_vlan_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:2249 sja1105_vlan_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:2558 sja1105_mgmt_xmit() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:2876 sja1105_port_mcast_flood() warn: should '(((1))) << to' be a 64 bit type?

vim +521 drivers/net/dsa/sja1105/sja1105_main.c

8aa9ebccae8762 Vladimir Oltean 2019-05-02  472  
8aa9ebccae8762 Vladimir Oltean 2019-05-02  473  static int sja1105_init_l2_forwarding(struct sja1105_private *priv)
8aa9ebccae8762 Vladimir Oltean 2019-05-02  474  {
8aa9ebccae8762 Vladimir Oltean 2019-05-02  475  	struct sja1105_l2_forwarding_entry *l2fwd;
542043e91df452 Vladimir Oltean 2021-05-24  476  	struct dsa_switch *ds = priv->ds;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  477  	struct sja1105_table *table;
3fa212707b8e60 Vladimir Oltean 2021-08-04  478  	int port, tc;
3fa212707b8e60 Vladimir Oltean 2021-08-04  479  	int from, to;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  480  
8aa9ebccae8762 Vladimir Oltean 2019-05-02  481  	table = &priv->static_config.tables[BLK_IDX_L2_FORWARDING];
8aa9ebccae8762 Vladimir Oltean 2019-05-02  482  
8aa9ebccae8762 Vladimir Oltean 2019-05-02  483  	if (table->entry_count) {
8aa9ebccae8762 Vladimir Oltean 2019-05-02  484  		kfree(table->entries);
8aa9ebccae8762 Vladimir Oltean 2019-05-02  485  		table->entry_count = 0;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  486  	}
8aa9ebccae8762 Vladimir Oltean 2019-05-02  487  
fd6f2c257b0bc0 Vladimir Oltean 2021-05-24  488  	table->entries = kcalloc(table->ops->max_entry_count,
8aa9ebccae8762 Vladimir Oltean 2019-05-02  489  				 table->ops->unpacked_entry_size, GFP_KERNEL);
8aa9ebccae8762 Vladimir Oltean 2019-05-02  490  	if (!table->entries)
8aa9ebccae8762 Vladimir Oltean 2019-05-02  491  		return -ENOMEM;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  492  
fd6f2c257b0bc0 Vladimir Oltean 2021-05-24  493  	table->entry_count = table->ops->max_entry_count;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  494  
8aa9ebccae8762 Vladimir Oltean 2019-05-02  495  	l2fwd = table->entries;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  496  
3fa212707b8e60 Vladimir Oltean 2021-08-04  497  	/* First 5 entries in the L2 Forwarding Table define the forwarding
3fa212707b8e60 Vladimir Oltean 2021-08-04  498  	 * rules and the VLAN PCP to ingress queue mapping.
3fa212707b8e60 Vladimir Oltean 2021-08-04  499  	 * Set up the ingress queue mapping first.
3fa212707b8e60 Vladimir Oltean 2021-08-04  500  	 */
3fa212707b8e60 Vladimir Oltean 2021-08-04  501  	for (port = 0; port < ds->num_ports; port++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  502  		if (dsa_is_unused_port(ds, port))
3fa212707b8e60 Vladimir Oltean 2021-08-04  503  			continue;
3fa212707b8e60 Vladimir Oltean 2021-08-04  504  
3fa212707b8e60 Vladimir Oltean 2021-08-04  505  		for (tc = 0; tc < SJA1105_NUM_TC; tc++)
3fa212707b8e60 Vladimir Oltean 2021-08-04  506  			l2fwd[port].vlan_pmap[tc] = tc;
3fa212707b8e60 Vladimir Oltean 2021-08-04  507  	}
8aa9ebccae8762 Vladimir Oltean 2019-05-02  508  
3fa212707b8e60 Vladimir Oltean 2021-08-04  509  	/* Then manage the forwarding domain for user ports. These can forward
3fa212707b8e60 Vladimir Oltean 2021-08-04  510  	 * only to the always-on domain (CPU port and DSA links)
3fa212707b8e60 Vladimir Oltean 2021-08-04  511  	 */
3fa212707b8e60 Vladimir Oltean 2021-08-04  512  	for (from = 0; from < ds->num_ports; from++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  513  		if (!dsa_is_user_port(ds, from))
f238fef1b3de2f Vladimir Oltean 2021-05-24  514  			continue;
f238fef1b3de2f Vladimir Oltean 2021-05-24  515  
3fa212707b8e60 Vladimir Oltean 2021-08-04  516  		for (to = 0; to < ds->num_ports; to++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  517  			if (!dsa_is_cpu_port(ds, to) &&
3fa212707b8e60 Vladimir Oltean 2021-08-04  518  			    !dsa_is_dsa_port(ds, to))
3fa212707b8e60 Vladimir Oltean 2021-08-04  519  				continue;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  520  
3fa212707b8e60 Vladimir Oltean 2021-08-04 @521  			l2fwd[from].bc_domain |= BIT(to);
3fa212707b8e60 Vladimir Oltean 2021-08-04  522  			l2fwd[from].fl_domain |= BIT(to);
3fa212707b8e60 Vladimir Oltean 2021-08-04  523  
3fa212707b8e60 Vladimir Oltean 2021-08-04  524  			sja1105_port_allow_traffic(l2fwd, from, to, true);
3fa212707b8e60 Vladimir Oltean 2021-08-04  525  		}
3fa212707b8e60 Vladimir Oltean 2021-08-04  526  	}
3fa212707b8e60 Vladimir Oltean 2021-08-04  527  
3fa212707b8e60 Vladimir Oltean 2021-08-04  528  	/* Then manage the forwarding domain for DSA links and CPU ports (the
3fa212707b8e60 Vladimir Oltean 2021-08-04  529  	 * always-on domain). These can send packets to any enabled port except
3fa212707b8e60 Vladimir Oltean 2021-08-04  530  	 * themselves.
7f7ccdea8c730f Vladimir Oltean 2021-02-16  531  	 */
3fa212707b8e60 Vladimir Oltean 2021-08-04  532  	for (from = 0; from < ds->num_ports; from++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  533  		if (!dsa_is_cpu_port(ds, from) && !dsa_is_dsa_port(ds, from))
3fa212707b8e60 Vladimir Oltean 2021-08-04  534  			continue;
7f7ccdea8c730f Vladimir Oltean 2021-02-16  535  
3fa212707b8e60 Vladimir Oltean 2021-08-04  536  		for (to = 0; to < ds->num_ports; to++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  537  			if (dsa_is_unused_port(ds, to))
8aa9ebccae8762 Vladimir Oltean 2019-05-02  538  				continue;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  539  
3fa212707b8e60 Vladimir Oltean 2021-08-04  540  			if (from == to)
3fa212707b8e60 Vladimir Oltean 2021-08-04  541  				continue;
4d942354950181 Vladimir Oltean 2021-02-12  542  
3fa212707b8e60 Vladimir Oltean 2021-08-04  543  			l2fwd[from].bc_domain |= BIT(to);
3fa212707b8e60 Vladimir Oltean 2021-08-04  544  			l2fwd[from].fl_domain |= BIT(to);
4d942354950181 Vladimir Oltean 2021-02-12  545  
3fa212707b8e60 Vladimir Oltean 2021-08-04  546  			sja1105_port_allow_traffic(l2fwd, from, to, true);
3fa212707b8e60 Vladimir Oltean 2021-08-04  547  		}
3fa212707b8e60 Vladimir Oltean 2021-08-04  548  	}
3fa212707b8e60 Vladimir Oltean 2021-08-04  549  
3fa212707b8e60 Vladimir Oltean 2021-08-04  550  	/* Finally, manage the egress flooding domain. All ports start up with
3fa212707b8e60 Vladimir Oltean 2021-08-04  551  	 * flooding enabled, including the CPU port and DSA links.
3fa212707b8e60 Vladimir Oltean 2021-08-04  552  	 */
3fa212707b8e60 Vladimir Oltean 2021-08-04  553  	for (port = 0; port < ds->num_ports; port++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  554  		if (dsa_is_unused_port(ds, port))
3fa212707b8e60 Vladimir Oltean 2021-08-04  555  			continue;
3fa212707b8e60 Vladimir Oltean 2021-08-04  556  
3fa212707b8e60 Vladimir Oltean 2021-08-04  557  		priv->ucast_egress_floods |= BIT(port);
3fa212707b8e60 Vladimir Oltean 2021-08-04  558  		priv->bcast_egress_floods |= BIT(port);
8aa9ebccae8762 Vladimir Oltean 2019-05-02  559  	}
f238fef1b3de2f Vladimir Oltean 2021-05-24  560  
8aa9ebccae8762 Vladimir Oltean 2019-05-02  561  	/* Next 8 entries define VLAN PCP mapping from ingress to egress.
8aa9ebccae8762 Vladimir Oltean 2019-05-02  562  	 * Create a one-to-one mapping.
8aa9ebccae8762 Vladimir Oltean 2019-05-02  563  	 */
3fa212707b8e60 Vladimir Oltean 2021-08-04  564  	for (tc = 0; tc < SJA1105_NUM_TC; tc++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  565  		for (port = 0; port < ds->num_ports; port++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  566  			if (dsa_is_unused_port(ds, port))
f238fef1b3de2f Vladimir Oltean 2021-05-24  567  				continue;
f238fef1b3de2f Vladimir Oltean 2021-05-24  568  
3fa212707b8e60 Vladimir Oltean 2021-08-04  569  			l2fwd[ds->num_ports + tc].vlan_pmap[port] = tc;
f238fef1b3de2f Vladimir Oltean 2021-05-24  570  		}
3e77e59bf8cf10 Vladimir Oltean 2021-06-08  571  
3fa212707b8e60 Vladimir Oltean 2021-08-04  572  		l2fwd[ds->num_ports + tc].type_egrpcp2outputq = true;
3e77e59bf8cf10 Vladimir Oltean 2021-06-08  573  	}
3e77e59bf8cf10 Vladimir Oltean 2021-06-08  574  
3e77e59bf8cf10 Vladimir Oltean 2021-06-08  575  	return 0;
3e77e59bf8cf10 Vladimir Oltean 2021-06-08  576  }
3e77e59bf8cf10 Vladimir Oltean 2021-06-08  577  

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

^ permalink raw reply	[flat|nested] 4+ messages in thread
* drivers/net/dsa/sja1105/sja1105_main.c:521 sja1105_init_l2_forwarding() warn: should '(((1))) << to' be a 64 bit type?
@ 2022-05-29  3:45 kernel test robot
  0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2022-05-29  3:45 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 12909 bytes --]

CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-kernel(a)vger.kernel.org
TO: Vladimir Oltean <vladimir.oltean@nxp.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   9d004b2f4fea97cde123e7f1939b80e77bf2e695
commit: 3fa212707b8e6026cea6a92faea87f556e0cba9b net: dsa: sja1105: manage the forwarding domain towards DSA ports
date:   10 months ago
:::::: branch date: 23 hours ago
:::::: commit date: 10 months ago
config: arc-randconfig-m031-20220524 (https://download.01.org/0day-ci/archive/20220529/202205291142.dQeOKrZs-lkp(a)intel.com/config)
compiler: arceb-elf-gcc (GCC) 11.3.0

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
drivers/net/dsa/sja1105/sja1105_main.c:521 sja1105_init_l2_forwarding() warn: should '(((1))) << to' be a 64 bit type?

Old smatch warnings:
drivers/net/dsa/sja1105/sja1105_main.c:49 sja1105_port_allow_traffic() warn: should '(((1))) << to' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:57 sja1105_can_forward() warn: should '((((1))) << to)' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:129 sja1105_commit_pvid() warn: should '((((1))) << port)' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:248 sja1105_init_mii_settings() warn: is 'table->entries' large enough for 'struct sja1105_xmii_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:260 sja1105_init_mii_settings() warn: is 'table->entries' large enough for 'struct sja1105_xmii_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:269 sja1105_init_mii_settings() warn: is 'table->entries' large enough for 'struct sja1105_xmii_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:278 sja1105_init_mii_settings() warn: is 'table->entries' large enough for 'struct sja1105_xmii_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:284 sja1105_init_mii_settings() warn: is 'table->entries' large enough for 'struct sja1105_xmii_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:291 sja1105_init_mii_settings() warn: is 'table->entries' large enough for 'struct sja1105_xmii_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:522 sja1105_init_l2_forwarding() warn: should '(((1))) << to' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:543 sja1105_init_l2_forwarding() warn: should '(((1))) << to' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:544 sja1105_init_l2_forwarding() warn: should '(((1))) << to' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:640 sja1105_init_l2_forwarding_params() warn: is 'table->entries' large enough for 'struct sja1105_l2_forwarding_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:773 sja1105_init_topology() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:884 sja1105_init_avb_params() warn: is 'table->entries' large enough for 'struct sja1105_avb_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:1351 sja1105_find_static_fdb_entry() warn: should '((((1))) << port)' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1469 sja1105et_fdb_add() warn: should '((((1))) << port)' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1471 sja1105et_fdb_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1479 sja1105et_fdb_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1565 sja1105pqrs_fdb_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1573 sja1105pqrs_fdb_add() warn: should '((((1))) << port)' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1578 sja1105pqrs_fdb_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1628 sja1105pqrs_fdb_del() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1697 sja1105_fdb_dump() warn: should '((((1))) << port)' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1749 sja1105_manage_flood_domains() warn: should '(((1))) << to' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1751 sja1105_manage_flood_domains() warn: should '(((1))) << to' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:2244 sja1105_vlan_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:2245 sja1105_vlan_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:2249 sja1105_vlan_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:2558 sja1105_mgmt_xmit() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:2876 sja1105_port_mcast_flood() warn: should '(((1))) << to' be a 64 bit type?

vim +521 drivers/net/dsa/sja1105/sja1105_main.c

8aa9ebccae8762 Vladimir Oltean 2019-05-02  472  
8aa9ebccae8762 Vladimir Oltean 2019-05-02  473  static int sja1105_init_l2_forwarding(struct sja1105_private *priv)
8aa9ebccae8762 Vladimir Oltean 2019-05-02  474  {
8aa9ebccae8762 Vladimir Oltean 2019-05-02  475  	struct sja1105_l2_forwarding_entry *l2fwd;
542043e91df452 Vladimir Oltean 2021-05-24  476  	struct dsa_switch *ds = priv->ds;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  477  	struct sja1105_table *table;
3fa212707b8e60 Vladimir Oltean 2021-08-04  478  	int port, tc;
3fa212707b8e60 Vladimir Oltean 2021-08-04  479  	int from, to;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  480  
8aa9ebccae8762 Vladimir Oltean 2019-05-02  481  	table = &priv->static_config.tables[BLK_IDX_L2_FORWARDING];
8aa9ebccae8762 Vladimir Oltean 2019-05-02  482  
8aa9ebccae8762 Vladimir Oltean 2019-05-02  483  	if (table->entry_count) {
8aa9ebccae8762 Vladimir Oltean 2019-05-02  484  		kfree(table->entries);
8aa9ebccae8762 Vladimir Oltean 2019-05-02  485  		table->entry_count = 0;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  486  	}
8aa9ebccae8762 Vladimir Oltean 2019-05-02  487  
fd6f2c257b0bc0 Vladimir Oltean 2021-05-24  488  	table->entries = kcalloc(table->ops->max_entry_count,
8aa9ebccae8762 Vladimir Oltean 2019-05-02  489  				 table->ops->unpacked_entry_size, GFP_KERNEL);
8aa9ebccae8762 Vladimir Oltean 2019-05-02  490  	if (!table->entries)
8aa9ebccae8762 Vladimir Oltean 2019-05-02  491  		return -ENOMEM;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  492  
fd6f2c257b0bc0 Vladimir Oltean 2021-05-24  493  	table->entry_count = table->ops->max_entry_count;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  494  
8aa9ebccae8762 Vladimir Oltean 2019-05-02  495  	l2fwd = table->entries;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  496  
3fa212707b8e60 Vladimir Oltean 2021-08-04  497  	/* First 5 entries in the L2 Forwarding Table define the forwarding
3fa212707b8e60 Vladimir Oltean 2021-08-04  498  	 * rules and the VLAN PCP to ingress queue mapping.
3fa212707b8e60 Vladimir Oltean 2021-08-04  499  	 * Set up the ingress queue mapping first.
3fa212707b8e60 Vladimir Oltean 2021-08-04  500  	 */
3fa212707b8e60 Vladimir Oltean 2021-08-04  501  	for (port = 0; port < ds->num_ports; port++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  502  		if (dsa_is_unused_port(ds, port))
3fa212707b8e60 Vladimir Oltean 2021-08-04  503  			continue;
3fa212707b8e60 Vladimir Oltean 2021-08-04  504  
3fa212707b8e60 Vladimir Oltean 2021-08-04  505  		for (tc = 0; tc < SJA1105_NUM_TC; tc++)
3fa212707b8e60 Vladimir Oltean 2021-08-04  506  			l2fwd[port].vlan_pmap[tc] = tc;
3fa212707b8e60 Vladimir Oltean 2021-08-04  507  	}
8aa9ebccae8762 Vladimir Oltean 2019-05-02  508  
3fa212707b8e60 Vladimir Oltean 2021-08-04  509  	/* Then manage the forwarding domain for user ports. These can forward
3fa212707b8e60 Vladimir Oltean 2021-08-04  510  	 * only to the always-on domain (CPU port and DSA links)
3fa212707b8e60 Vladimir Oltean 2021-08-04  511  	 */
3fa212707b8e60 Vladimir Oltean 2021-08-04  512  	for (from = 0; from < ds->num_ports; from++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  513  		if (!dsa_is_user_port(ds, from))
f238fef1b3de2f Vladimir Oltean 2021-05-24  514  			continue;
f238fef1b3de2f Vladimir Oltean 2021-05-24  515  
3fa212707b8e60 Vladimir Oltean 2021-08-04  516  		for (to = 0; to < ds->num_ports; to++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  517  			if (!dsa_is_cpu_port(ds, to) &&
3fa212707b8e60 Vladimir Oltean 2021-08-04  518  			    !dsa_is_dsa_port(ds, to))
3fa212707b8e60 Vladimir Oltean 2021-08-04  519  				continue;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  520  
3fa212707b8e60 Vladimir Oltean 2021-08-04 @521  			l2fwd[from].bc_domain |= BIT(to);
3fa212707b8e60 Vladimir Oltean 2021-08-04  522  			l2fwd[from].fl_domain |= BIT(to);
3fa212707b8e60 Vladimir Oltean 2021-08-04  523  
3fa212707b8e60 Vladimir Oltean 2021-08-04  524  			sja1105_port_allow_traffic(l2fwd, from, to, true);
3fa212707b8e60 Vladimir Oltean 2021-08-04  525  		}
3fa212707b8e60 Vladimir Oltean 2021-08-04  526  	}
3fa212707b8e60 Vladimir Oltean 2021-08-04  527  
3fa212707b8e60 Vladimir Oltean 2021-08-04  528  	/* Then manage the forwarding domain for DSA links and CPU ports (the
3fa212707b8e60 Vladimir Oltean 2021-08-04  529  	 * always-on domain). These can send packets to any enabled port except
3fa212707b8e60 Vladimir Oltean 2021-08-04  530  	 * themselves.
7f7ccdea8c730f Vladimir Oltean 2021-02-16  531  	 */
3fa212707b8e60 Vladimir Oltean 2021-08-04  532  	for (from = 0; from < ds->num_ports; from++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  533  		if (!dsa_is_cpu_port(ds, from) && !dsa_is_dsa_port(ds, from))
3fa212707b8e60 Vladimir Oltean 2021-08-04  534  			continue;
7f7ccdea8c730f Vladimir Oltean 2021-02-16  535  
3fa212707b8e60 Vladimir Oltean 2021-08-04  536  		for (to = 0; to < ds->num_ports; to++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  537  			if (dsa_is_unused_port(ds, to))
8aa9ebccae8762 Vladimir Oltean 2019-05-02  538  				continue;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  539  
3fa212707b8e60 Vladimir Oltean 2021-08-04  540  			if (from == to)
3fa212707b8e60 Vladimir Oltean 2021-08-04  541  				continue;
4d942354950181 Vladimir Oltean 2021-02-12  542  
3fa212707b8e60 Vladimir Oltean 2021-08-04  543  			l2fwd[from].bc_domain |= BIT(to);
3fa212707b8e60 Vladimir Oltean 2021-08-04  544  			l2fwd[from].fl_domain |= BIT(to);
4d942354950181 Vladimir Oltean 2021-02-12  545  
3fa212707b8e60 Vladimir Oltean 2021-08-04  546  			sja1105_port_allow_traffic(l2fwd, from, to, true);
3fa212707b8e60 Vladimir Oltean 2021-08-04  547  		}
3fa212707b8e60 Vladimir Oltean 2021-08-04  548  	}
3fa212707b8e60 Vladimir Oltean 2021-08-04  549  
3fa212707b8e60 Vladimir Oltean 2021-08-04  550  	/* Finally, manage the egress flooding domain. All ports start up with
3fa212707b8e60 Vladimir Oltean 2021-08-04  551  	 * flooding enabled, including the CPU port and DSA links.
3fa212707b8e60 Vladimir Oltean 2021-08-04  552  	 */
3fa212707b8e60 Vladimir Oltean 2021-08-04  553  	for (port = 0; port < ds->num_ports; port++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  554  		if (dsa_is_unused_port(ds, port))
3fa212707b8e60 Vladimir Oltean 2021-08-04  555  			continue;
3fa212707b8e60 Vladimir Oltean 2021-08-04  556  
3fa212707b8e60 Vladimir Oltean 2021-08-04  557  		priv->ucast_egress_floods |= BIT(port);
3fa212707b8e60 Vladimir Oltean 2021-08-04  558  		priv->bcast_egress_floods |= BIT(port);
8aa9ebccae8762 Vladimir Oltean 2019-05-02  559  	}
f238fef1b3de2f Vladimir Oltean 2021-05-24  560  
8aa9ebccae8762 Vladimir Oltean 2019-05-02  561  	/* Next 8 entries define VLAN PCP mapping from ingress to egress.
8aa9ebccae8762 Vladimir Oltean 2019-05-02  562  	 * Create a one-to-one mapping.
8aa9ebccae8762 Vladimir Oltean 2019-05-02  563  	 */
3fa212707b8e60 Vladimir Oltean 2021-08-04  564  	for (tc = 0; tc < SJA1105_NUM_TC; tc++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  565  		for (port = 0; port < ds->num_ports; port++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  566  			if (dsa_is_unused_port(ds, port))
f238fef1b3de2f Vladimir Oltean 2021-05-24  567  				continue;
f238fef1b3de2f Vladimir Oltean 2021-05-24  568  
3fa212707b8e60 Vladimir Oltean 2021-08-04  569  			l2fwd[ds->num_ports + tc].vlan_pmap[port] = tc;
f238fef1b3de2f Vladimir Oltean 2021-05-24  570  		}
3e77e59bf8cf10 Vladimir Oltean 2021-06-08  571  
3fa212707b8e60 Vladimir Oltean 2021-08-04  572  		l2fwd[ds->num_ports + tc].type_egrpcp2outputq = true;
3e77e59bf8cf10 Vladimir Oltean 2021-06-08  573  	}
3e77e59bf8cf10 Vladimir Oltean 2021-06-08  574  
3e77e59bf8cf10 Vladimir Oltean 2021-06-08  575  	return 0;
3e77e59bf8cf10 Vladimir Oltean 2021-06-08  576  }
3e77e59bf8cf10 Vladimir Oltean 2021-06-08  577  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] 4+ messages in thread
* drivers/net/dsa/sja1105/sja1105_main.c:521 sja1105_init_l2_forwarding() warn: should '(((1))) << to' be a 64 bit type?
@ 2021-11-16  0:46 kernel test robot
  0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2021-11-16  0:46 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 12878 bytes --]

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Vladimir Oltean <vladimir.oltean@nxp.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   8ab774587903771821b59471cc723bba6d893942
commit: 3fa212707b8e6026cea6a92faea87f556e0cba9b net: dsa: sja1105: manage the forwarding domain towards DSA ports
date:   3 months ago
:::::: branch date: 22 hours ago
:::::: commit date: 3 months ago
config: i386-randconfig-m021-20211022 (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@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
drivers/net/dsa/sja1105/sja1105_main.c:521 sja1105_init_l2_forwarding() warn: should '(((1))) << to' be a 64 bit type?

Old smatch warnings:
drivers/net/dsa/sja1105/sja1105_main.c:49 sja1105_port_allow_traffic() warn: should '(((1))) << to' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:57 sja1105_can_forward() warn: should '((((1))) << to)' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:129 sja1105_commit_pvid() warn: should '((((1))) << port)' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:248 sja1105_init_mii_settings() warn: is 'table->entries' large enough for 'struct sja1105_xmii_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:260 sja1105_init_mii_settings() warn: is 'table->entries' large enough for 'struct sja1105_xmii_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:269 sja1105_init_mii_settings() warn: is 'table->entries' large enough for 'struct sja1105_xmii_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:278 sja1105_init_mii_settings() warn: is 'table->entries' large enough for 'struct sja1105_xmii_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:284 sja1105_init_mii_settings() warn: is 'table->entries' large enough for 'struct sja1105_xmii_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:291 sja1105_init_mii_settings() warn: is 'table->entries' large enough for 'struct sja1105_xmii_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:522 sja1105_init_l2_forwarding() warn: should '(((1))) << to' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:543 sja1105_init_l2_forwarding() warn: should '(((1))) << to' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:544 sja1105_init_l2_forwarding() warn: should '(((1))) << to' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:640 sja1105_init_l2_forwarding_params() warn: is 'table->entries' large enough for 'struct sja1105_l2_forwarding_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:773 sja1105_init_topology() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:884 sja1105_init_avb_params() warn: is 'table->entries' large enough for 'struct sja1105_avb_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:1351 sja1105_find_static_fdb_entry() warn: should '((((1))) << port)' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1469 sja1105et_fdb_add() warn: should '((((1))) << port)' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1471 sja1105et_fdb_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1479 sja1105et_fdb_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1565 sja1105pqrs_fdb_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1573 sja1105pqrs_fdb_add() warn: should '((((1))) << port)' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1578 sja1105pqrs_fdb_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1628 sja1105pqrs_fdb_del() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1697 sja1105_fdb_dump() warn: should '((((1))) << port)' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1749 sja1105_manage_flood_domains() warn: should '(((1))) << to' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1751 sja1105_manage_flood_domains() warn: should '(((1))) << to' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:2244 sja1105_vlan_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:2245 sja1105_vlan_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:2249 sja1105_vlan_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:2558 sja1105_mgmt_xmit() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:2876 sja1105_port_mcast_flood() warn: should '(((1))) << to' be a 64 bit type?

vim +521 drivers/net/dsa/sja1105/sja1105_main.c

8aa9ebccae8762 Vladimir Oltean 2019-05-02  472  
8aa9ebccae8762 Vladimir Oltean 2019-05-02  473  static int sja1105_init_l2_forwarding(struct sja1105_private *priv)
8aa9ebccae8762 Vladimir Oltean 2019-05-02  474  {
8aa9ebccae8762 Vladimir Oltean 2019-05-02  475  	struct sja1105_l2_forwarding_entry *l2fwd;
542043e91df452 Vladimir Oltean 2021-05-24  476  	struct dsa_switch *ds = priv->ds;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  477  	struct sja1105_table *table;
3fa212707b8e60 Vladimir Oltean 2021-08-04  478  	int port, tc;
3fa212707b8e60 Vladimir Oltean 2021-08-04  479  	int from, to;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  480  
8aa9ebccae8762 Vladimir Oltean 2019-05-02  481  	table = &priv->static_config.tables[BLK_IDX_L2_FORWARDING];
8aa9ebccae8762 Vladimir Oltean 2019-05-02  482  
8aa9ebccae8762 Vladimir Oltean 2019-05-02  483  	if (table->entry_count) {
8aa9ebccae8762 Vladimir Oltean 2019-05-02  484  		kfree(table->entries);
8aa9ebccae8762 Vladimir Oltean 2019-05-02  485  		table->entry_count = 0;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  486  	}
8aa9ebccae8762 Vladimir Oltean 2019-05-02  487  
fd6f2c257b0bc0 Vladimir Oltean 2021-05-24  488  	table->entries = kcalloc(table->ops->max_entry_count,
8aa9ebccae8762 Vladimir Oltean 2019-05-02  489  				 table->ops->unpacked_entry_size, GFP_KERNEL);
8aa9ebccae8762 Vladimir Oltean 2019-05-02  490  	if (!table->entries)
8aa9ebccae8762 Vladimir Oltean 2019-05-02  491  		return -ENOMEM;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  492  
fd6f2c257b0bc0 Vladimir Oltean 2021-05-24  493  	table->entry_count = table->ops->max_entry_count;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  494  
8aa9ebccae8762 Vladimir Oltean 2019-05-02  495  	l2fwd = table->entries;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  496  
3fa212707b8e60 Vladimir Oltean 2021-08-04  497  	/* First 5 entries in the L2 Forwarding Table define the forwarding
3fa212707b8e60 Vladimir Oltean 2021-08-04  498  	 * rules and the VLAN PCP to ingress queue mapping.
3fa212707b8e60 Vladimir Oltean 2021-08-04  499  	 * Set up the ingress queue mapping first.
3fa212707b8e60 Vladimir Oltean 2021-08-04  500  	 */
3fa212707b8e60 Vladimir Oltean 2021-08-04  501  	for (port = 0; port < ds->num_ports; port++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  502  		if (dsa_is_unused_port(ds, port))
3fa212707b8e60 Vladimir Oltean 2021-08-04  503  			continue;
3fa212707b8e60 Vladimir Oltean 2021-08-04  504  
3fa212707b8e60 Vladimir Oltean 2021-08-04  505  		for (tc = 0; tc < SJA1105_NUM_TC; tc++)
3fa212707b8e60 Vladimir Oltean 2021-08-04  506  			l2fwd[port].vlan_pmap[tc] = tc;
3fa212707b8e60 Vladimir Oltean 2021-08-04  507  	}
8aa9ebccae8762 Vladimir Oltean 2019-05-02  508  
3fa212707b8e60 Vladimir Oltean 2021-08-04  509  	/* Then manage the forwarding domain for user ports. These can forward
3fa212707b8e60 Vladimir Oltean 2021-08-04  510  	 * only to the always-on domain (CPU port and DSA links)
3fa212707b8e60 Vladimir Oltean 2021-08-04  511  	 */
3fa212707b8e60 Vladimir Oltean 2021-08-04  512  	for (from = 0; from < ds->num_ports; from++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  513  		if (!dsa_is_user_port(ds, from))
f238fef1b3de2f Vladimir Oltean 2021-05-24  514  			continue;
f238fef1b3de2f Vladimir Oltean 2021-05-24  515  
3fa212707b8e60 Vladimir Oltean 2021-08-04  516  		for (to = 0; to < ds->num_ports; to++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  517  			if (!dsa_is_cpu_port(ds, to) &&
3fa212707b8e60 Vladimir Oltean 2021-08-04  518  			    !dsa_is_dsa_port(ds, to))
3fa212707b8e60 Vladimir Oltean 2021-08-04  519  				continue;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  520  
3fa212707b8e60 Vladimir Oltean 2021-08-04 @521  			l2fwd[from].bc_domain |= BIT(to);
3fa212707b8e60 Vladimir Oltean 2021-08-04  522  			l2fwd[from].fl_domain |= BIT(to);
3fa212707b8e60 Vladimir Oltean 2021-08-04  523  
3fa212707b8e60 Vladimir Oltean 2021-08-04  524  			sja1105_port_allow_traffic(l2fwd, from, to, true);
3fa212707b8e60 Vladimir Oltean 2021-08-04  525  		}
3fa212707b8e60 Vladimir Oltean 2021-08-04  526  	}
3fa212707b8e60 Vladimir Oltean 2021-08-04  527  
3fa212707b8e60 Vladimir Oltean 2021-08-04  528  	/* Then manage the forwarding domain for DSA links and CPU ports (the
3fa212707b8e60 Vladimir Oltean 2021-08-04  529  	 * always-on domain). These can send packets to any enabled port except
3fa212707b8e60 Vladimir Oltean 2021-08-04  530  	 * themselves.
7f7ccdea8c730f Vladimir Oltean 2021-02-16  531  	 */
3fa212707b8e60 Vladimir Oltean 2021-08-04  532  	for (from = 0; from < ds->num_ports; from++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  533  		if (!dsa_is_cpu_port(ds, from) && !dsa_is_dsa_port(ds, from))
3fa212707b8e60 Vladimir Oltean 2021-08-04  534  			continue;
7f7ccdea8c730f Vladimir Oltean 2021-02-16  535  
3fa212707b8e60 Vladimir Oltean 2021-08-04  536  		for (to = 0; to < ds->num_ports; to++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  537  			if (dsa_is_unused_port(ds, to))
8aa9ebccae8762 Vladimir Oltean 2019-05-02  538  				continue;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  539  
3fa212707b8e60 Vladimir Oltean 2021-08-04  540  			if (from == to)
3fa212707b8e60 Vladimir Oltean 2021-08-04  541  				continue;
4d942354950181 Vladimir Oltean 2021-02-12  542  
3fa212707b8e60 Vladimir Oltean 2021-08-04  543  			l2fwd[from].bc_domain |= BIT(to);
3fa212707b8e60 Vladimir Oltean 2021-08-04  544  			l2fwd[from].fl_domain |= BIT(to);
4d942354950181 Vladimir Oltean 2021-02-12  545  
3fa212707b8e60 Vladimir Oltean 2021-08-04  546  			sja1105_port_allow_traffic(l2fwd, from, to, true);
3fa212707b8e60 Vladimir Oltean 2021-08-04  547  		}
3fa212707b8e60 Vladimir Oltean 2021-08-04  548  	}
3fa212707b8e60 Vladimir Oltean 2021-08-04  549  
3fa212707b8e60 Vladimir Oltean 2021-08-04  550  	/* Finally, manage the egress flooding domain. All ports start up with
3fa212707b8e60 Vladimir Oltean 2021-08-04  551  	 * flooding enabled, including the CPU port and DSA links.
3fa212707b8e60 Vladimir Oltean 2021-08-04  552  	 */
3fa212707b8e60 Vladimir Oltean 2021-08-04  553  	for (port = 0; port < ds->num_ports; port++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  554  		if (dsa_is_unused_port(ds, port))
3fa212707b8e60 Vladimir Oltean 2021-08-04  555  			continue;
3fa212707b8e60 Vladimir Oltean 2021-08-04  556  
3fa212707b8e60 Vladimir Oltean 2021-08-04  557  		priv->ucast_egress_floods |= BIT(port);
3fa212707b8e60 Vladimir Oltean 2021-08-04  558  		priv->bcast_egress_floods |= BIT(port);
8aa9ebccae8762 Vladimir Oltean 2019-05-02  559  	}
f238fef1b3de2f Vladimir Oltean 2021-05-24  560  
8aa9ebccae8762 Vladimir Oltean 2019-05-02  561  	/* Next 8 entries define VLAN PCP mapping from ingress to egress.
8aa9ebccae8762 Vladimir Oltean 2019-05-02  562  	 * Create a one-to-one mapping.
8aa9ebccae8762 Vladimir Oltean 2019-05-02  563  	 */
3fa212707b8e60 Vladimir Oltean 2021-08-04  564  	for (tc = 0; tc < SJA1105_NUM_TC; tc++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  565  		for (port = 0; port < ds->num_ports; port++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  566  			if (dsa_is_unused_port(ds, port))
f238fef1b3de2f Vladimir Oltean 2021-05-24  567  				continue;
f238fef1b3de2f Vladimir Oltean 2021-05-24  568  
3fa212707b8e60 Vladimir Oltean 2021-08-04  569  			l2fwd[ds->num_ports + tc].vlan_pmap[port] = tc;
f238fef1b3de2f Vladimir Oltean 2021-05-24  570  		}
3e77e59bf8cf10 Vladimir Oltean 2021-06-08  571  
3fa212707b8e60 Vladimir Oltean 2021-08-04  572  		l2fwd[ds->num_ports + tc].type_egrpcp2outputq = true;
3e77e59bf8cf10 Vladimir Oltean 2021-06-08  573  	}
3e77e59bf8cf10 Vladimir Oltean 2021-06-08  574  
3e77e59bf8cf10 Vladimir Oltean 2021-06-08  575  	return 0;
3e77e59bf8cf10 Vladimir Oltean 2021-06-08  576  }
3e77e59bf8cf10 Vladimir Oltean 2021-06-08  577  

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 36080 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread
* drivers/net/dsa/sja1105/sja1105_main.c:521 sja1105_init_l2_forwarding() warn: should '(((1))) << to' be a 64 bit type?
@ 2021-11-08 22:15 kernel test robot
  0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2021-11-08 22:15 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 12877 bytes --]

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Vladimir Oltean <vladimir.oltean@nxp.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   d2f38a3c6507b2520101f9a3807ed98f1bdc545a
commit: 3fa212707b8e6026cea6a92faea87f556e0cba9b net: dsa: sja1105: manage the forwarding domain towards DSA ports
date:   3 months ago
:::::: branch date: 2 hours ago
:::::: commit date: 3 months ago
config: i386-randconfig-m021-20211022 (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@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
drivers/net/dsa/sja1105/sja1105_main.c:521 sja1105_init_l2_forwarding() warn: should '(((1))) << to' be a 64 bit type?

Old smatch warnings:
drivers/net/dsa/sja1105/sja1105_main.c:49 sja1105_port_allow_traffic() warn: should '(((1))) << to' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:57 sja1105_can_forward() warn: should '((((1))) << to)' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:129 sja1105_commit_pvid() warn: should '((((1))) << port)' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:248 sja1105_init_mii_settings() warn: is 'table->entries' large enough for 'struct sja1105_xmii_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:260 sja1105_init_mii_settings() warn: is 'table->entries' large enough for 'struct sja1105_xmii_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:269 sja1105_init_mii_settings() warn: is 'table->entries' large enough for 'struct sja1105_xmii_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:278 sja1105_init_mii_settings() warn: is 'table->entries' large enough for 'struct sja1105_xmii_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:284 sja1105_init_mii_settings() warn: is 'table->entries' large enough for 'struct sja1105_xmii_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:291 sja1105_init_mii_settings() warn: is 'table->entries' large enough for 'struct sja1105_xmii_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:522 sja1105_init_l2_forwarding() warn: should '(((1))) << to' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:543 sja1105_init_l2_forwarding() warn: should '(((1))) << to' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:544 sja1105_init_l2_forwarding() warn: should '(((1))) << to' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:640 sja1105_init_l2_forwarding_params() warn: is 'table->entries' large enough for 'struct sja1105_l2_forwarding_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:773 sja1105_init_topology() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:884 sja1105_init_avb_params() warn: is 'table->entries' large enough for 'struct sja1105_avb_params_entry'? 0
drivers/net/dsa/sja1105/sja1105_main.c:1351 sja1105_find_static_fdb_entry() warn: should '((((1))) << port)' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1469 sja1105et_fdb_add() warn: should '((((1))) << port)' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1471 sja1105et_fdb_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1479 sja1105et_fdb_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1565 sja1105pqrs_fdb_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1573 sja1105pqrs_fdb_add() warn: should '((((1))) << port)' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1578 sja1105pqrs_fdb_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1628 sja1105pqrs_fdb_del() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1697 sja1105_fdb_dump() warn: should '((((1))) << port)' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1749 sja1105_manage_flood_domains() warn: should '(((1))) << to' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:1751 sja1105_manage_flood_domains() warn: should '(((1))) << to' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:2244 sja1105_vlan_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:2245 sja1105_vlan_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:2249 sja1105_vlan_add() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:2558 sja1105_mgmt_xmit() warn: should '(((1))) << port' be a 64 bit type?
drivers/net/dsa/sja1105/sja1105_main.c:2876 sja1105_port_mcast_flood() warn: should '(((1))) << to' be a 64 bit type?

vim +521 drivers/net/dsa/sja1105/sja1105_main.c

8aa9ebccae8762 Vladimir Oltean 2019-05-02  472  
8aa9ebccae8762 Vladimir Oltean 2019-05-02  473  static int sja1105_init_l2_forwarding(struct sja1105_private *priv)
8aa9ebccae8762 Vladimir Oltean 2019-05-02  474  {
8aa9ebccae8762 Vladimir Oltean 2019-05-02  475  	struct sja1105_l2_forwarding_entry *l2fwd;
542043e91df452 Vladimir Oltean 2021-05-24  476  	struct dsa_switch *ds = priv->ds;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  477  	struct sja1105_table *table;
3fa212707b8e60 Vladimir Oltean 2021-08-04  478  	int port, tc;
3fa212707b8e60 Vladimir Oltean 2021-08-04  479  	int from, to;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  480  
8aa9ebccae8762 Vladimir Oltean 2019-05-02  481  	table = &priv->static_config.tables[BLK_IDX_L2_FORWARDING];
8aa9ebccae8762 Vladimir Oltean 2019-05-02  482  
8aa9ebccae8762 Vladimir Oltean 2019-05-02  483  	if (table->entry_count) {
8aa9ebccae8762 Vladimir Oltean 2019-05-02  484  		kfree(table->entries);
8aa9ebccae8762 Vladimir Oltean 2019-05-02  485  		table->entry_count = 0;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  486  	}
8aa9ebccae8762 Vladimir Oltean 2019-05-02  487  
fd6f2c257b0bc0 Vladimir Oltean 2021-05-24  488  	table->entries = kcalloc(table->ops->max_entry_count,
8aa9ebccae8762 Vladimir Oltean 2019-05-02  489  				 table->ops->unpacked_entry_size, GFP_KERNEL);
8aa9ebccae8762 Vladimir Oltean 2019-05-02  490  	if (!table->entries)
8aa9ebccae8762 Vladimir Oltean 2019-05-02  491  		return -ENOMEM;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  492  
fd6f2c257b0bc0 Vladimir Oltean 2021-05-24  493  	table->entry_count = table->ops->max_entry_count;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  494  
8aa9ebccae8762 Vladimir Oltean 2019-05-02  495  	l2fwd = table->entries;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  496  
3fa212707b8e60 Vladimir Oltean 2021-08-04  497  	/* First 5 entries in the L2 Forwarding Table define the forwarding
3fa212707b8e60 Vladimir Oltean 2021-08-04  498  	 * rules and the VLAN PCP to ingress queue mapping.
3fa212707b8e60 Vladimir Oltean 2021-08-04  499  	 * Set up the ingress queue mapping first.
3fa212707b8e60 Vladimir Oltean 2021-08-04  500  	 */
3fa212707b8e60 Vladimir Oltean 2021-08-04  501  	for (port = 0; port < ds->num_ports; port++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  502  		if (dsa_is_unused_port(ds, port))
3fa212707b8e60 Vladimir Oltean 2021-08-04  503  			continue;
3fa212707b8e60 Vladimir Oltean 2021-08-04  504  
3fa212707b8e60 Vladimir Oltean 2021-08-04  505  		for (tc = 0; tc < SJA1105_NUM_TC; tc++)
3fa212707b8e60 Vladimir Oltean 2021-08-04  506  			l2fwd[port].vlan_pmap[tc] = tc;
3fa212707b8e60 Vladimir Oltean 2021-08-04  507  	}
8aa9ebccae8762 Vladimir Oltean 2019-05-02  508  
3fa212707b8e60 Vladimir Oltean 2021-08-04  509  	/* Then manage the forwarding domain for user ports. These can forward
3fa212707b8e60 Vladimir Oltean 2021-08-04  510  	 * only to the always-on domain (CPU port and DSA links)
3fa212707b8e60 Vladimir Oltean 2021-08-04  511  	 */
3fa212707b8e60 Vladimir Oltean 2021-08-04  512  	for (from = 0; from < ds->num_ports; from++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  513  		if (!dsa_is_user_port(ds, from))
f238fef1b3de2f Vladimir Oltean 2021-05-24  514  			continue;
f238fef1b3de2f Vladimir Oltean 2021-05-24  515  
3fa212707b8e60 Vladimir Oltean 2021-08-04  516  		for (to = 0; to < ds->num_ports; to++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  517  			if (!dsa_is_cpu_port(ds, to) &&
3fa212707b8e60 Vladimir Oltean 2021-08-04  518  			    !dsa_is_dsa_port(ds, to))
3fa212707b8e60 Vladimir Oltean 2021-08-04  519  				continue;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  520  
3fa212707b8e60 Vladimir Oltean 2021-08-04 @521  			l2fwd[from].bc_domain |= BIT(to);
3fa212707b8e60 Vladimir Oltean 2021-08-04  522  			l2fwd[from].fl_domain |= BIT(to);
3fa212707b8e60 Vladimir Oltean 2021-08-04  523  
3fa212707b8e60 Vladimir Oltean 2021-08-04  524  			sja1105_port_allow_traffic(l2fwd, from, to, true);
3fa212707b8e60 Vladimir Oltean 2021-08-04  525  		}
3fa212707b8e60 Vladimir Oltean 2021-08-04  526  	}
3fa212707b8e60 Vladimir Oltean 2021-08-04  527  
3fa212707b8e60 Vladimir Oltean 2021-08-04  528  	/* Then manage the forwarding domain for DSA links and CPU ports (the
3fa212707b8e60 Vladimir Oltean 2021-08-04  529  	 * always-on domain). These can send packets to any enabled port except
3fa212707b8e60 Vladimir Oltean 2021-08-04  530  	 * themselves.
7f7ccdea8c730f Vladimir Oltean 2021-02-16  531  	 */
3fa212707b8e60 Vladimir Oltean 2021-08-04  532  	for (from = 0; from < ds->num_ports; from++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  533  		if (!dsa_is_cpu_port(ds, from) && !dsa_is_dsa_port(ds, from))
3fa212707b8e60 Vladimir Oltean 2021-08-04  534  			continue;
7f7ccdea8c730f Vladimir Oltean 2021-02-16  535  
3fa212707b8e60 Vladimir Oltean 2021-08-04  536  		for (to = 0; to < ds->num_ports; to++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  537  			if (dsa_is_unused_port(ds, to))
8aa9ebccae8762 Vladimir Oltean 2019-05-02  538  				continue;
8aa9ebccae8762 Vladimir Oltean 2019-05-02  539  
3fa212707b8e60 Vladimir Oltean 2021-08-04  540  			if (from == to)
3fa212707b8e60 Vladimir Oltean 2021-08-04  541  				continue;
4d942354950181 Vladimir Oltean 2021-02-12  542  
3fa212707b8e60 Vladimir Oltean 2021-08-04  543  			l2fwd[from].bc_domain |= BIT(to);
3fa212707b8e60 Vladimir Oltean 2021-08-04  544  			l2fwd[from].fl_domain |= BIT(to);
4d942354950181 Vladimir Oltean 2021-02-12  545  
3fa212707b8e60 Vladimir Oltean 2021-08-04  546  			sja1105_port_allow_traffic(l2fwd, from, to, true);
3fa212707b8e60 Vladimir Oltean 2021-08-04  547  		}
3fa212707b8e60 Vladimir Oltean 2021-08-04  548  	}
3fa212707b8e60 Vladimir Oltean 2021-08-04  549  
3fa212707b8e60 Vladimir Oltean 2021-08-04  550  	/* Finally, manage the egress flooding domain. All ports start up with
3fa212707b8e60 Vladimir Oltean 2021-08-04  551  	 * flooding enabled, including the CPU port and DSA links.
3fa212707b8e60 Vladimir Oltean 2021-08-04  552  	 */
3fa212707b8e60 Vladimir Oltean 2021-08-04  553  	for (port = 0; port < ds->num_ports; port++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  554  		if (dsa_is_unused_port(ds, port))
3fa212707b8e60 Vladimir Oltean 2021-08-04  555  			continue;
3fa212707b8e60 Vladimir Oltean 2021-08-04  556  
3fa212707b8e60 Vladimir Oltean 2021-08-04  557  		priv->ucast_egress_floods |= BIT(port);
3fa212707b8e60 Vladimir Oltean 2021-08-04  558  		priv->bcast_egress_floods |= BIT(port);
8aa9ebccae8762 Vladimir Oltean 2019-05-02  559  	}
f238fef1b3de2f Vladimir Oltean 2021-05-24  560  
8aa9ebccae8762 Vladimir Oltean 2019-05-02  561  	/* Next 8 entries define VLAN PCP mapping from ingress to egress.
8aa9ebccae8762 Vladimir Oltean 2019-05-02  562  	 * Create a one-to-one mapping.
8aa9ebccae8762 Vladimir Oltean 2019-05-02  563  	 */
3fa212707b8e60 Vladimir Oltean 2021-08-04  564  	for (tc = 0; tc < SJA1105_NUM_TC; tc++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  565  		for (port = 0; port < ds->num_ports; port++) {
3fa212707b8e60 Vladimir Oltean 2021-08-04  566  			if (dsa_is_unused_port(ds, port))
f238fef1b3de2f Vladimir Oltean 2021-05-24  567  				continue;
f238fef1b3de2f Vladimir Oltean 2021-05-24  568  
3fa212707b8e60 Vladimir Oltean 2021-08-04  569  			l2fwd[ds->num_ports + tc].vlan_pmap[port] = tc;
f238fef1b3de2f Vladimir Oltean 2021-05-24  570  		}
3e77e59bf8cf10 Vladimir Oltean 2021-06-08  571  
3fa212707b8e60 Vladimir Oltean 2021-08-04  572  		l2fwd[ds->num_ports + tc].type_egrpcp2outputq = true;
3e77e59bf8cf10 Vladimir Oltean 2021-06-08  573  	}
3e77e59bf8cf10 Vladimir Oltean 2021-06-08  574  
3e77e59bf8cf10 Vladimir Oltean 2021-06-08  575  	return 0;
3e77e59bf8cf10 Vladimir Oltean 2021-06-08  576  }
3e77e59bf8cf10 Vladimir Oltean 2021-06-08  577  

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 36037 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-05-29  3:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-11 20:53 drivers/net/dsa/sja1105/sja1105_main.c:521 sja1105_init_l2_forwarding() warn: should '(((1))) << to' be a 64 bit type? kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2022-05-29  3:45 kernel test robot
2021-11-16  0:46 kernel test robot
2021-11-08 22:15 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.