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
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- kbuild@lists.01.org To unsubscribe send an email to kbuild-le...@lists.01.org