tree:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 
master
head:   15f41e2ba13a6726632e44b1180e805a61e470ad
commit: ca065d0cf80fa547724440a8bf37f1e674d917c0 [58/68] udp: no longer use 
SLAB_DESTROY_BY_RCU
reproduce:
        # apt-get install sparse
        git checkout ca065d0cf80fa547724440a8bf37f1e674d917c0
        make ARCH=x86_64 allmodconfig
        make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

   include/linux/compiler.h:232:8: sparse: attribute 'no_sanitize_address': 
unknown attribute
>> net/ipv4/udp.c:1693:9: sparse: incompatible types in comparison expression 
>> (different address spaces)
>> net/ipv4/udp.c:1693:9: sparse: incompatible types in comparison expression 
>> (different address spaces)
--
   include/linux/compiler.h:232:8: sparse: attribute 'no_sanitize_address': 
unknown attribute
>> net/ipv6/udp.c:743:9: sparse: incompatible types in comparison expression 
>> (different address spaces)
>> net/ipv6/udp.c:743:9: sparse: incompatible types in comparison expression 
>> (different address spaces)

vim +1693 net/ipv4/udp.c

  1677          struct udp_hslot *hslot = udp_hashslot(udptable, net, hnum);
  1678          unsigned int hash2 = 0, hash2_any = 0, use_hash2 = 
(hslot->count > 10);
  1679          unsigned int offset = offsetof(typeof(*sk), sk_node);
  1680          int dif = skb->dev->ifindex;
  1681          struct hlist_node *node;
  1682          struct sk_buff *nskb;
  1683  
  1684          if (use_hash2) {
  1685                  hash2_any = udp4_portaddr_hash(net, htonl(INADDR_ANY), 
hnum) &
  1686                              udp_table.mask;
  1687                  hash2 = udp4_portaddr_hash(net, daddr, hnum) & 
udp_table.mask;
  1688  start_lookup:
  1689                  hslot = &udp_table.hash2[hash2];
  1690                  offset = offsetof(typeof(*sk), 
__sk_common.skc_portaddr_node);
  1691          }
  1692  
> 1693          sk_for_each_entry_offset_rcu(sk, node, &hslot->head, offset) {
  1694                  if (!__udp_is_mcast_sock(net, sk, uh->dest, daddr,
  1695                                           uh->source, saddr, dif, hnum))
  1696                          continue;
  1697  
  1698                  if (!first) {
  1699                          first = sk;
  1700                          continue;
  1701                  }

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Reply via email to