tree:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
linux-4.4.y
head: 95a3867e897abd7811196123f81a119a75aba863
commit: 415dad95105656862703c980006118ec28d8971c [9131/9999] batman-adv: Fix reference
counting of vlan object for tt_local_entry
config: microblaze-randconfig-r032-20201209 (attached as .config)
compiler: microblaze-linux-gcc (GCC) 7.5.0
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
#
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gi...
git remote add linux-stable-rc
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git fetch --no-tags linux-stable-rc linux-4.4.y
git checkout 415dad95105656862703c980006118ec28d8971c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross ARCH=microblaze
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
include/linux/rhashtable.h:277:34: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
return atomic_read(&ht->nelems) < (tbl->size * 3 / 10) &&
^
include/linux/rhashtable.h: In function 'rht_grow_above_100':
include/linux/rhashtable.h:289:34: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
return atomic_read(&ht->nelems) > tbl->size &&
^
include/linux/rhashtable.h: In function 'rht_grow_above_max':
include/linux/rhashtable.h:302:34: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
atomic_read(&ht->nelems) >= ht->p.insecure_max_entries;
^~
In file included from include/linux/etherdevice.h:26:0,
from net/batman-adv/main.h:170,
from net/batman-adv/translation-table.h:21,
from net/batman-adv/translation-table.c:18:
include/linux/netdevice.h: In function '__skb_gro_checksum_validate_needed':
include/linux/netdevice.h:2389:34: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
skb_checksum_start_offset(skb) <
^
In file included from include/uapi/linux/stddef.h:1:0,
from include/linux/stddef.h:4,
from include/uapi/linux/posix_types.h:4,
from include/uapi/linux/types.h:13,
from include/linux/types.h:5,
from arch/microblaze/include/asm/irqflags.h:12,
from include/linux/irqflags.h:15,
from arch/microblaze/include/asm/cmpxchg.h:4,
from arch/microblaze/include/asm/atomic.h:4,
from include/linux/atomic.h:4,
from net/batman-adv/main.h:166,
from net/batman-adv/translation-table.h:21,
from net/batman-adv/translation-table.c:18:
include/linux/netdevice.h: In function 'get_netdev_rx_queue_index':
include/linux/netdevice.h:3027:15: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
BUG_ON(index >= dev->num_rx_queues);
^
include/linux/compiler.h:153:45: note: in definition of macro 'unlikely'
# define unlikely(x) (__builtin_constant_p(x) ? !!(x) : __branch_check__(x, 0))
^
include/linux/netdevice.h:3027:2: note: in expansion of macro 'BUG_ON'
BUG_ON(index >= dev->num_rx_queues);
^~~~~~
include/linux/netdevice.h:3027:15: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
BUG_ON(index >= dev->num_rx_queues);
^
include/linux/compiler.h:153:53: note: in definition of macro 'unlikely'
# define unlikely(x) (__builtin_constant_p(x) ? !!(x) : __branch_check__(x, 0))
^
include/linux/netdevice.h:3027:2: note: in expansion of macro 'BUG_ON'
BUG_ON(index >= dev->num_rx_queues);
^~~~~~
include/linux/netdevice.h:3027:15: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
BUG_ON(index >= dev->num_rx_queues);
^
include/linux/compiler.h:126:47: note: in definition of macro 'likely_notrace'
#define likely_notrace(x) __builtin_expect(!!(x), 1)
^
include/linux/compiler.h:153:58: note: in expansion of macro
'__branch_check__'
# define unlikely(x) (__builtin_constant_p(x) ? !!(x) : __branch_check__(x, 0))
^~~~~~~~~~~~~~~~
include/asm-generic/bug.h:56:36: note: in expansion of macro 'unlikely'
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
^~~~~~~~
include/linux/netdevice.h:3027:2: note: in expansion of macro 'BUG_ON'
BUG_ON(index >= dev->num_rx_queues);
^~~~~~
In file included from include/linux/etherdevice.h:26:0,
from net/batman-adv/main.h:170,
from net/batman-adv/translation-table.h:21,
from net/batman-adv/translation-table.c:18:
include/linux/netdevice.h: In function 'netif_msg_init':
include/linux/netdevice.h:3301:37: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
if (debug_value < 0 || debug_value >= (sizeof(u32) * 8))
^~
In file included from include/net/rtnetlink.h:5:0,
from net/batman-adv/soft-interface.h:23,
from net/batman-adv/translation-table.c:53:
include/net/netlink.h: In function 'nlmsg_ok':
include/net/netlink.h:337:18: warning: comparison between signed and unsigned integer
expressions [-Wsign-compare]
nlh->nlmsg_len <= remaining);
^~
include/net/netlink.h: In function 'nlmsg_parse':
include/net/netlink.h:372:21: warning: comparison between signed and unsigned integer
expressions [-Wsign-compare]
if (nlh->nlmsg_len < nlmsg_msg_size(hdrlen))
^
include/net/netlink.h: In function 'nlmsg_validate':
include/net/netlink.h:405:21: warning: comparison between signed and unsigned integer
expressions [-Wsign-compare]
if (nlh->nlmsg_len < nlmsg_msg_size(hdrlen))
^
In file included from net/batman-adv/soft-interface.h:23:0,
from net/batman-adv/translation-table.c:53:
include/net/rtnetlink.h: In function 'rtnl_msg_family':
include/net/rtnetlink.h:20:21: warning: comparison between signed and unsigned integer
expressions [-Wsign-compare]
if (nlmsg_len(nlh) >= sizeof(struct rtgenmsg))
^~
net/batman-adv/translation-table.c: In function
'batadv_tt_tvlv_container_update':
net/batman-adv/translation-table.c:884:18: warning: comparison between signed and
unsigned integer expressions [-Wsign-compare]
if (tt_diff_len > bat_priv->soft_iface->mtu)
^
net/batman-adv/translation-table.c: In function
'batadv_tt_local_seq_print_text':
> net/batman-adv/translation-table.c:948:17: warning: variable
'vid' set but not used [-Wunused-but-set-variable]
unsigned short vid;
^~~
In file included from include/linux/rhashtable.h:24:0,
from include/net/inet_frag.h:4,
from include/net/netns/ipv4.h:9,
from include/net/net_namespace.h:17,
from include/linux/netdevice.h:43,
from include/linux/etherdevice.h:26,
from net/batman-adv/main.h:170,
from net/batman-adv/translation-table.h:21,
from net/batman-adv/translation-table.c:18:
include/linux/jhash.h: In function 'jhash':
include/linux/jhash.h:90:13: warning: this statement may fall through
[-Wimplicit-fallthrough=]
case 12: c += (u32)k[11]<<24;
~~^~~~~~~~~~~~~~~~~
include/linux/jhash.h:91:2: note: here
case 11: c += (u32)k[10]<<16;
^~~~
include/linux/jhash.h:91:13: warning: this statement may fall through
[-Wimplicit-fallthrough=]
case 11: c += (u32)k[10]<<16;
~~^~~~~~~~~~~~~~~~~
include/linux/jhash.h:92:2: note: here
case 10: c += (u32)k[9]<<8;
^~~~
include/linux/jhash.h:92:13: warning: this statement may fall through
[-Wimplicit-fallthrough=]
case 10: c += (u32)k[9]<<8;
~~^~~~~~~~~~~~~~~
include/linux/jhash.h:93:2: note: here
case 9: c += k[8];
^~~~
include/linux/jhash.h:93:13: warning: this statement may fall through
[-Wimplicit-fallthrough=]
case 9: c += k[8];
~~^~~~~~~
include/linux/jhash.h:94:2: note: here
case 8: b += (u32)k[7]<<24;
^~~~
include/linux/jhash.h:94:13: warning: this statement may fall through
[-Wimplicit-fallthrough=]
case 8: b += (u32)k[7]<<24;
~~^~~~~~~~~~~~~~~~
include/linux/jhash.h:95:2: note: here
case 7: b += (u32)k[6]<<16;
^~~~
include/linux/jhash.h:95:13: warning: this statement may fall through
[-Wimplicit-fallthrough=]
case 7: b += (u32)k[6]<<16;
~~^~~~~~~~~~~~~~~~
include/linux/jhash.h:96:2: note: here
case 6: b += (u32)k[5]<<8;
^~~~
include/linux/jhash.h:96:13: warning: this statement may fall through
[-Wimplicit-fallthrough=]
case 6: b += (u32)k[5]<<8;
~~^~~~~~~~~~~~~~~
include/linux/jhash.h:97:2: note: here
case 5: b += k[4];
^~~~
include/linux/jhash.h:97:13: warning: this statement may fall through
[-Wimplicit-fallthrough=]
case 5: b += k[4];
~~^~~~~~~
include/linux/jhash.h:98:2: note: here
case 4: a += (u32)k[3]<<24;
^~~~
include/linux/jhash.h:98:13: warning: this statement may fall through
[-Wimplicit-fallthrough=]
case 4: a += (u32)k[3]<<24;
~~^~~~~~~~~~~~~~~~
include/linux/jhash.h:99:2: note: here
case 3: a += (u32)k[2]<<16;
^~~~
include/linux/jhash.h:99:13: warning: this statement may fall through
[-Wimplicit-fallthrough=]
case 3: a += (u32)k[2]<<16;
~~^~~~~~~~~~~~~~~~
include/linux/jhash.h:100:2: note: here
case 2: a += (u32)k[1]<<8;
^~~~
include/linux/jhash.h:100:13: warning: this statement may fall through
[-Wimplicit-fallthrough=]
case 2: a += (u32)k[1]<<8;
~~^~~~~~~~~~~~~~~
include/linux/jhash.h:101:2: note: here
case 1: a += k[0];
^~~~
vim +/vid +948 net/batman-adv/translation-table.c
c6c8fea29769d9 Sven Eckelmann 2010-12-13 938
08c36d3e8ad1f7 Sven Eckelmann 2012-05-12 939 int
batadv_tt_local_seq_print_text(struct seq_file *seq, void *offset)
c6c8fea29769d9 Sven Eckelmann 2010-12-13 940 {
c6c8fea29769d9 Sven Eckelmann 2010-12-13 941 struct net_device *net_dev = (struct
net_device *)seq->private;
56303d34a332be Sven Eckelmann 2012-06-05 942 struct batadv_priv *bat_priv =
netdev_priv(net_dev);
807736f6e00714 Sven Eckelmann 2012-07-15 943 struct batadv_hashtable *hash =
bat_priv->tt.local_hash;
56303d34a332be Sven Eckelmann 2012-06-05 944 struct batadv_tt_common_entry
*tt_common_entry;
85766a82003ec5 Antonio Quartulli 2012-11-08 945 struct batadv_tt_local_entry
*tt_local;
56303d34a332be Sven Eckelmann 2012-06-05 946 struct batadv_hard_iface *primary_if;
c6c8fea29769d9 Sven Eckelmann 2010-12-13 947 struct hlist_head *head;
7ea7b4a142758d Antonio Quartulli 2013-07-30 @948 unsigned short vid;
6b5e971a282c0e Sven Eckelmann 2015-05-26 949 u32 i;
85766a82003ec5 Antonio Quartulli 2012-11-08 950 int last_seen_secs;
85766a82003ec5 Antonio Quartulli 2012-11-08 951 int last_seen_msecs;
85766a82003ec5 Antonio Quartulli 2012-11-08 952 unsigned long last_seen_jiffies;
85766a82003ec5 Antonio Quartulli 2012-11-08 953 bool no_purge;
6b5e971a282c0e Sven Eckelmann 2015-05-26 954 u16 np_flag =
BATADV_TT_CLIENT_NOPURGE;
32ae9b221e7884 Marek Lindner 2011-04-20 955
30da63a6af1dbf Marek Lindner 2012-08-03 956 primary_if =
batadv_seq_print_text_primary_if_get(seq);
30da63a6af1dbf Marek Lindner 2012-08-03 957 if (!primary_if)
32ae9b221e7884 Marek Lindner 2011-04-20 958 goto out;
c6c8fea29769d9 Sven Eckelmann 2010-12-13 959
86ceb360565d06 Sven Eckelmann 2012-03-07 960 seq_printf(seq,
7ea7b4a142758d Antonio Quartulli 2013-07-30 961 "Locally retrieved addresses
(from %s) announced via TT (TTVN: %u):\n",
6b5e971a282c0e Sven Eckelmann 2015-05-26 962 net_dev->name,
(u8)atomic_read(&bat_priv->tt.vn));
dd24ddb265b329 Antonio Quartulli 2013-11-16 963 seq_printf(seq, " %-13s %s
%-8s %-9s (%-10s)\n", "Client", "VID",
7ea7b4a142758d Antonio Quartulli 2013-07-30 964 "Flags", "Last
seen", "CRC");
c6c8fea29769d9 Sven Eckelmann 2010-12-13 965
c6c8fea29769d9 Sven Eckelmann 2010-12-13 966 for (i = 0; i < hash->size; i++)
{
c6c8fea29769d9 Sven Eckelmann 2010-12-13 967 head = &hash->table[i];
c6c8fea29769d9 Sven Eckelmann 2010-12-13 968
7aadf889e89715 Marek Lindner 2011-02-18 969 rcu_read_lock();
b67bfe0d42cac5 Sasha Levin 2013-02-27 970
hlist_for_each_entry_rcu(tt_common_entry,
7aadf889e89715 Marek Lindner 2011-02-18 971 head, hash_entry) {
85766a82003ec5 Antonio Quartulli 2012-11-08 972 tt_local =
container_of(tt_common_entry,
85766a82003ec5 Antonio Quartulli 2012-11-08 973 struct batadv_tt_local_entry,
85766a82003ec5 Antonio Quartulli 2012-11-08 974 common);
7ea7b4a142758d Antonio Quartulli 2013-07-30 975 vid = tt_common_entry->vid;
85766a82003ec5 Antonio Quartulli 2012-11-08 976 last_seen_jiffies = jiffies -
tt_local->last_seen;
85766a82003ec5 Antonio Quartulli 2012-11-08 977 last_seen_msecs =
jiffies_to_msecs(last_seen_jiffies);
85766a82003ec5 Antonio Quartulli 2012-11-08 978 last_seen_secs = last_seen_msecs /
1000;
85766a82003ec5 Antonio Quartulli 2012-11-08 979 last_seen_msecs = last_seen_msecs %
1000;
85766a82003ec5 Antonio Quartulli 2012-11-08 980
85766a82003ec5 Antonio Quartulli 2012-11-08 981 no_purge = tt_common_entry->flags
& np_flag;
85766a82003ec5 Antonio Quartulli 2012-11-08 982
7ea7b4a142758d Antonio Quartulli 2013-07-30 983 seq_printf(seq,
dd24ddb265b329 Antonio Quartulli 2013-11-16 984 " * %pM %4i [%c%c%c%c%c%c]
%3u.%03u (%#.8x)\n",
48100bac89a616 Antonio Quartulli 2011-10-30 985 tt_common_entry->addr,
1605278901718e Antonio Quartulli 2013-06-04 986
BATADV_PRINT_VID(tt_common_entry->vid),
a2f2b6cd41f5b4 Sven Eckelmann 2015-04-23 987 ((tt_common_entry->flags
&
a2f2b6cd41f5b4 Sven Eckelmann 2015-04-23 988 BATADV_TT_CLIENT_ROAM) ?
'R' : '.'),
85766a82003ec5 Antonio Quartulli 2012-11-08 989 no_purge ? 'P' :
'.',
a2f2b6cd41f5b4 Sven Eckelmann 2015-04-23 990 ((tt_common_entry->flags
&
a2f2b6cd41f5b4 Sven Eckelmann 2015-04-23 991 BATADV_TT_CLIENT_NEW) ?
'N' : '.'),
a2f2b6cd41f5b4 Sven Eckelmann 2015-04-23 992 ((tt_common_entry->flags
&
a2f2b6cd41f5b4 Sven Eckelmann 2015-04-23 993 BATADV_TT_CLIENT_PENDING) ?
'X' : '.'),
a2f2b6cd41f5b4 Sven Eckelmann 2015-04-23 994 ((tt_common_entry->flags
&
a2f2b6cd41f5b4 Sven Eckelmann 2015-04-23 995 BATADV_TT_CLIENT_WIFI) ?
'W' : '.'),
a2f2b6cd41f5b4 Sven Eckelmann 2015-04-23 996 ((tt_common_entry->flags
&
a2f2b6cd41f5b4 Sven Eckelmann 2015-04-23 997 BATADV_TT_CLIENT_ISOLA) ?
'I' : '.'),
a7966d908ae847 Antonio Quartulli 2013-01-24 998 no_purge ? 0 : last_seen_secs,
7ea7b4a142758d Antonio Quartulli 2013-07-30 999 no_purge ? 0 : last_seen_msecs,
415dad95105656 Sven Eckelmann 2020-03-18 1000 tt_local->vlan->tt.crc);
c6c8fea29769d9 Sven Eckelmann 2010-12-13 1001 }
7aadf889e89715 Marek Lindner 2011-02-18 1002 rcu_read_unlock();
c6c8fea29769d9 Sven Eckelmann 2010-12-13 1003 }
32ae9b221e7884 Marek Lindner 2011-04-20 1004 out:
32ae9b221e7884 Marek Lindner 2011-04-20 1005 if (primary_if)
e5d89254bf763d Sven Eckelmann 2012-05-12 1006 batadv_hardif_free_ref(primary_if);
30da63a6af1dbf Marek Lindner 2012-08-03 1007 return 0;
c6c8fea29769d9 Sven Eckelmann 2010-12-13 1008 }
c6c8fea29769d9 Sven Eckelmann 2010-12-13 1009
:::::: The code at line 948 was first introduced by commit
:::::: 7ea7b4a142758deaf46c1af0ca9ceca6dd55138b batman-adv: make the TT CRC logic VLAN
specific
:::::: TO: Antonio Quartulli <antonio(a)open-mesh.com>
:::::: CC: Antonio Quartulli <antonio(a)meshcoding.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org