* [linux-next:master 4817/14131] drivers/net/ethernet/broadcom/genet/bcmgenet.c:688:24: sparse: expected unsigned short [usertype] val_16
@ 2020-06-01 16:07 kbuild test robot
0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2020-06-01 16:07 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 10827 bytes --]
CC: kbuild-all(a)lists.01.org
TO: "Doug, Berger," <opendmb@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 <lkp@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-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 33221 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-06-01 16:07 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-01 16:07 [linux-next:master 4817/14131] drivers/net/ethernet/broadcom/genet/bcmgenet.c:688:24: sparse: expected unsigned short [usertype] val_16 kbuild 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.