CC: kbuild-...@lists.01.org
TO: "Doug, Berger," <open...@gmail.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   e7b08814b16b80a0bf76eeca16317f8c2ed23b8c
commit: 3e370952287c55e5fd240cb8bb41ef8acff8829d [4817/14131] net: bcmgenet: 
add support for ethtool rxnfc flows
:::::: branch date: 3 days ago
:::::: commit date: 5 weeks ago
config: i386-randconfig-s001-20200601 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.1-243-gc100a7ab-dirty
        git checkout 3e370952287c55e5fd240cb8bb41ef8acff8829d
        # save the attached .config to linux build tree
        make W=1 C=1 ARCH=i386 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <l...@intel.com>


sparse warnings: (new ones prefixed by >>)

   drivers/net/ethernet/broadcom/genet/bcmgenet.c:688:24: sparse: sparse: 
incorrect type in assignment (different base types) @@     expected unsigned 
short [usertype] val_16 @@     got restricted __be16 [usertype] @@
>> drivers/net/ethernet/broadcom/genet/bcmgenet.c:688:24: sparse:     expected 
>> unsigned short [usertype] val_16
   drivers/net/ethernet/broadcom/genet/bcmgenet.c:688:24: sparse:     got 
restricted __be16 [usertype]
   drivers/net/ethernet/broadcom/genet/bcmgenet.c:782:5: sparse: sparse: symbol 
'bcmgenet_hfb_add_filter' was not declared. Should it be static?
   include/linux/netdevice.h:4052:20: sparse: sparse: shift count is negative 
(-1)

# 
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=3e370952287c55e5fd240cb8bb41ef8acff8829d
git remote add linux-next 
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git remote update linux-next
git checkout 3e370952287c55e5fd240cb8bb41ef8acff8829d
vim +688 drivers/net/ethernet/broadcom/genet/bcmgenet.c

3e370952287c55 Doug Berger 2020-04-29  631  
3e370952287c55 Doug Berger 2020-04-29  632  static int 
bcmgenet_hfb_create_rxnfc_filter(struct bcmgenet_priv *priv,
3e370952287c55 Doug Berger 2020-04-29  633                                      
    struct bcmgenet_rxnfc_rule *rule)
3e370952287c55 Doug Berger 2020-04-29  634  {
3e370952287c55 Doug Berger 2020-04-29  635      struct ethtool_rx_flow_spec *fs 
= &rule->fs;
3e370952287c55 Doug Berger 2020-04-29  636      int err = 0, offset = 0, 
f_length = 0;
3e370952287c55 Doug Berger 2020-04-29  637      u16 val_16, mask_16;
3e370952287c55 Doug Berger 2020-04-29  638      u8 val_8, mask_8;
3e370952287c55 Doug Berger 2020-04-29  639      size_t size;
3e370952287c55 Doug Berger 2020-04-29  640      u32 *f_data;
3e370952287c55 Doug Berger 2020-04-29  641  
3e370952287c55 Doug Berger 2020-04-29  642      f_data = 
kcalloc(priv->hw_params->hfb_filter_size, sizeof(u32),
3e370952287c55 Doug Berger 2020-04-29  643                       GFP_KERNEL);
3e370952287c55 Doug Berger 2020-04-29  644      if (!f_data)
3e370952287c55 Doug Berger 2020-04-29  645              return -ENOMEM;
3e370952287c55 Doug Berger 2020-04-29  646  
3e370952287c55 Doug Berger 2020-04-29  647      if (fs->flow_type & 
FLOW_MAC_EXT) {
3e370952287c55 Doug Berger 2020-04-29  648              
bcmgenet_hfb_insert_data(f_data, 0,
3e370952287c55 Doug Berger 2020-04-29  649                                      
 &fs->h_ext.h_dest, &fs->m_ext.h_dest,
3e370952287c55 Doug Berger 2020-04-29  650                                      
 sizeof(fs->h_ext.h_dest));
3e370952287c55 Doug Berger 2020-04-29  651      }
3e370952287c55 Doug Berger 2020-04-29  652  
3e370952287c55 Doug Berger 2020-04-29  653      if (fs->flow_type & FLOW_EXT) {
3e370952287c55 Doug Berger 2020-04-29  654              if 
(fs->m_ext.vlan_etype ||
3e370952287c55 Doug Berger 2020-04-29  655                  fs->m_ext.vlan_tci) 
{
3e370952287c55 Doug Berger 2020-04-29  656                      
bcmgenet_hfb_insert_data(f_data, 12,
3e370952287c55 Doug Berger 2020-04-29  657                                      
         &fs->h_ext.vlan_etype,
3e370952287c55 Doug Berger 2020-04-29  658                                      
         &fs->m_ext.vlan_etype,
3e370952287c55 Doug Berger 2020-04-29  659                                      
         sizeof(fs->h_ext.vlan_etype));
3e370952287c55 Doug Berger 2020-04-29  660                      
bcmgenet_hfb_insert_data(f_data, 14,
3e370952287c55 Doug Berger 2020-04-29  661                                      
         &fs->h_ext.vlan_tci,
3e370952287c55 Doug Berger 2020-04-29  662                                      
         &fs->m_ext.vlan_tci,
3e370952287c55 Doug Berger 2020-04-29  663                                      
         sizeof(fs->h_ext.vlan_tci));
3e370952287c55 Doug Berger 2020-04-29  664                      offset += 
VLAN_HLEN;
3e370952287c55 Doug Berger 2020-04-29  665                      f_length += 
DIV_ROUND_UP(VLAN_HLEN, 2);
3e370952287c55 Doug Berger 2020-04-29  666              }
3e370952287c55 Doug Berger 2020-04-29  667      }
3e370952287c55 Doug Berger 2020-04-29  668  
3e370952287c55 Doug Berger 2020-04-29  669      switch (fs->flow_type & 
~(FLOW_EXT | FLOW_MAC_EXT)) {
3e370952287c55 Doug Berger 2020-04-29  670      case ETHER_FLOW:
3e370952287c55 Doug Berger 2020-04-29  671              f_length += 
DIV_ROUND_UP(ETH_HLEN, 2);
3e370952287c55 Doug Berger 2020-04-29  672              
bcmgenet_hfb_insert_data(f_data, 0,
3e370952287c55 Doug Berger 2020-04-29  673                                      
 &fs->h_u.ether_spec.h_dest,
3e370952287c55 Doug Berger 2020-04-29  674                                      
 &fs->m_u.ether_spec.h_dest,
3e370952287c55 Doug Berger 2020-04-29  675                                      
 sizeof(fs->h_u.ether_spec.h_dest));
3e370952287c55 Doug Berger 2020-04-29  676              
bcmgenet_hfb_insert_data(f_data, ETH_ALEN,
3e370952287c55 Doug Berger 2020-04-29  677                                      
 &fs->h_u.ether_spec.h_source,
3e370952287c55 Doug Berger 2020-04-29  678                                      
 &fs->m_u.ether_spec.h_source,
3e370952287c55 Doug Berger 2020-04-29  679                                      
 sizeof(fs->h_u.ether_spec.h_source));
3e370952287c55 Doug Berger 2020-04-29  680              
bcmgenet_hfb_insert_data(f_data, (2 * ETH_ALEN) + offset,
3e370952287c55 Doug Berger 2020-04-29  681                                      
 &fs->h_u.ether_spec.h_proto,
3e370952287c55 Doug Berger 2020-04-29  682                                      
 &fs->m_u.ether_spec.h_proto,
3e370952287c55 Doug Berger 2020-04-29  683                                      
 sizeof(fs->h_u.ether_spec.h_proto));
3e370952287c55 Doug Berger 2020-04-29  684              break;
3e370952287c55 Doug Berger 2020-04-29  685      case IP_USER_FLOW:
3e370952287c55 Doug Berger 2020-04-29  686              f_length += 
DIV_ROUND_UP(ETH_HLEN + 20, 2);
3e370952287c55 Doug Berger 2020-04-29  687              /* Specify IP Ether 
Type */
3e370952287c55 Doug Berger 2020-04-29 @688              val_16 = 
htons(ETH_P_IP);
3e370952287c55 Doug Berger 2020-04-29  689              mask_16 = 0xFFFF;
3e370952287c55 Doug Berger 2020-04-29  690              
bcmgenet_hfb_insert_data(f_data, (2 * ETH_ALEN) + offset,
3e370952287c55 Doug Berger 2020-04-29  691                                      
 &val_16, &mask_16, sizeof(val_16));
3e370952287c55 Doug Berger 2020-04-29  692              
bcmgenet_hfb_insert_data(f_data, 15 + offset,
3e370952287c55 Doug Berger 2020-04-29  693                                      
 &fs->h_u.usr_ip4_spec.tos,
3e370952287c55 Doug Berger 2020-04-29  694                                      
 &fs->m_u.usr_ip4_spec.tos,
3e370952287c55 Doug Berger 2020-04-29  695                                      
 sizeof(fs->h_u.usr_ip4_spec.tos));
3e370952287c55 Doug Berger 2020-04-29  696              
bcmgenet_hfb_insert_data(f_data, 23 + offset,
3e370952287c55 Doug Berger 2020-04-29  697                                      
 &fs->h_u.usr_ip4_spec.proto,
3e370952287c55 Doug Berger 2020-04-29  698                                      
 &fs->m_u.usr_ip4_spec.proto,
3e370952287c55 Doug Berger 2020-04-29  699                                      
 sizeof(fs->h_u.usr_ip4_spec.proto));
3e370952287c55 Doug Berger 2020-04-29  700              
bcmgenet_hfb_insert_data(f_data, 26 + offset,
3e370952287c55 Doug Berger 2020-04-29  701                                      
 &fs->h_u.usr_ip4_spec.ip4src,
3e370952287c55 Doug Berger 2020-04-29  702                                      
 &fs->m_u.usr_ip4_spec.ip4src,
3e370952287c55 Doug Berger 2020-04-29  703                                      
 sizeof(fs->h_u.usr_ip4_spec.ip4src));
3e370952287c55 Doug Berger 2020-04-29  704              
bcmgenet_hfb_insert_data(f_data, 30 + offset,
3e370952287c55 Doug Berger 2020-04-29  705                                      
 &fs->h_u.usr_ip4_spec.ip4dst,
3e370952287c55 Doug Berger 2020-04-29  706                                      
 &fs->m_u.usr_ip4_spec.ip4dst,
3e370952287c55 Doug Berger 2020-04-29  707                                      
 sizeof(fs->h_u.usr_ip4_spec.ip4dst));
3e370952287c55 Doug Berger 2020-04-29  708              if 
(!fs->m_u.usr_ip4_spec.l4_4_bytes)
3e370952287c55 Doug Berger 2020-04-29  709                      break;
3e370952287c55 Doug Berger 2020-04-29  710  
3e370952287c55 Doug Berger 2020-04-29  711              /* Only supports 20 
byte IPv4 header */
3e370952287c55 Doug Berger 2020-04-29  712              val_8 = 0x45;
3e370952287c55 Doug Berger 2020-04-29  713              mask_8 = 0xFF;
3e370952287c55 Doug Berger 2020-04-29  714              
bcmgenet_hfb_insert_data(f_data, ETH_HLEN + offset,
3e370952287c55 Doug Berger 2020-04-29  715                                      
 &val_8, &mask_8,
3e370952287c55 Doug Berger 2020-04-29  716                                      
 sizeof(val_8));
3e370952287c55 Doug Berger 2020-04-29  717              size = 
sizeof(fs->h_u.usr_ip4_spec.l4_4_bytes);
3e370952287c55 Doug Berger 2020-04-29  718              
bcmgenet_hfb_insert_data(f_data,
3e370952287c55 Doug Berger 2020-04-29  719                                      
 ETH_HLEN + 20 + offset,
3e370952287c55 Doug Berger 2020-04-29  720                                      
 &fs->h_u.usr_ip4_spec.l4_4_bytes,
3e370952287c55 Doug Berger 2020-04-29  721                                      
 &fs->m_u.usr_ip4_spec.l4_4_bytes,
3e370952287c55 Doug Berger 2020-04-29  722                                      
 size);
3e370952287c55 Doug Berger 2020-04-29  723              f_length += 
DIV_ROUND_UP(size, 2);
3e370952287c55 Doug Berger 2020-04-29  724              break;
3e370952287c55 Doug Berger 2020-04-29  725      }
3e370952287c55 Doug Berger 2020-04-29  726  
3e370952287c55 Doug Berger 2020-04-29  727      if (!fs->ring_cookie) {
3e370952287c55 Doug Berger 2020-04-29  728              /* Ring 0 flows can be 
handled by the default Descriptor Ring
3e370952287c55 Doug Berger 2020-04-29  729               * We'll map them to 
ring 0, but don't enable the filter
3e370952287c55 Doug Berger 2020-04-29  730               */
3e370952287c55 Doug Berger 2020-04-29  731              
bcmgenet_hfb_set_filter(priv, f_data, f_length, 0,
3e370952287c55 Doug Berger 2020-04-29  732                                      
fs->location);
3e370952287c55 Doug Berger 2020-04-29  733              rule->state = 
BCMGENET_RXNFC_STATE_DISABLED;
3e370952287c55 Doug Berger 2020-04-29  734      } else {
3e370952287c55 Doug Berger 2020-04-29  735              /* Other Rx rings are 
direct mapped here */
3e370952287c55 Doug Berger 2020-04-29  736              
bcmgenet_hfb_set_filter(priv, f_data, f_length,
3e370952287c55 Doug Berger 2020-04-29  737                                      
fs->ring_cookie, fs->location);
3e370952287c55 Doug Berger 2020-04-29  738              
bcmgenet_hfb_enable_filter(priv, fs->location);
3e370952287c55 Doug Berger 2020-04-29  739              rule->state = 
BCMGENET_RXNFC_STATE_ENABLED;
3e370952287c55 Doug Berger 2020-04-29  740      }
3e370952287c55 Doug Berger 2020-04-29  741  
3e370952287c55 Doug Berger 2020-04-29  742      kfree(f_data);
3e370952287c55 Doug Berger 2020-04-29  743  
3e370952287c55 Doug Berger 2020-04-29  744      return err;
3e370952287c55 Doug Berger 2020-04-29  745  }
3e370952287c55 Doug Berger 2020-04-29  746  

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

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-le...@lists.01.org

Reply via email to