CC: [email protected]
CC: [email protected]
TO: Vladimir Oltean <[email protected]>

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/[email protected]/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 <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

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/[email protected]
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to