* Re: [PATCH net 1/6] net/diag: Do not race on dumping MD5 keys with adding new MD5 keys
[not found] <20241106-tcp-md5-diag-prep-v1-1-d62debf3dded@gmail.com>
@ 2024-11-07 4:21 ` kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-11-07 4:21 UTC (permalink / raw)
To: Dmitry Safonov via B4 Relay, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Simon Horman, David Ahern,
Ivan Delalande, Matthieu Baerts, Mat Martineau, Geliang Tang,
Boris Pismenny, John Fastabend
Cc: llvm, oe-kbuild-all, netdev, linux-kernel, mptcp, Dmitry Safonov,
stable
Hi Dmitry,
kernel test robot noticed the following build warnings:
[auto build test WARNING on 2e1b3cc9d7f790145a80cb705b168f05dab65df2]
url: https://github.com/intel-lab-lkp/linux/commits/Dmitry-Safonov-via-B4-Relay/net-diag-Do-not-race-on-dumping-MD5-keys-with-adding-new-MD5-keys/20241107-025054
base: 2e1b3cc9d7f790145a80cb705b168f05dab65df2
patch link: https://lore.kernel.org/r/20241106-tcp-md5-diag-prep-v1-1-d62debf3dded%40gmail.com
patch subject: [PATCH net 1/6] net/diag: Do not race on dumping MD5 keys with adding new MD5 keys
config: arm64-randconfig-003-20241107 (https://download.01.org/0day-ci/archive/20241107/202411071218.G7g6a8JG-lkp@intel.com/config)
compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project 592c0fe55f6d9a811028b5f3507be91458ab2713)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241107/202411071218.G7g6a8JG-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202411071218.G7g6a8JG-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from net/ipv4/tcp_diag.c:9:
In file included from include/linux/net.h:24:
In file included from include/linux/mm.h:2213:
include/linux/vmstat.h:504:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
504 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
505 | item];
| ~~~~
include/linux/vmstat.h:511:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
511 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
512 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:518:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
518 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:524:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
524 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
525 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
>> net/ipv4/tcp_diag.c:70:3: warning: variable 'md5sig_count' is uninitialized when used here [-Wuninitialized]
70 | md5sig_count++;
| ^~~~~~~~~~~~
net/ipv4/tcp_diag.c:60:36: note: initialize the variable 'md5sig_count' to silence this warning
60 | unsigned int attrlen, md5sig_count;
| ^
| = 0
5 warnings generated.
vim +/md5sig_count +70 net/ipv4/tcp_diag.c
c03fa9bcacd9ac0 Ivan Delalande 2017-08-31 54
c03fa9bcacd9ac0 Ivan Delalande 2017-08-31 55 static int tcp_diag_put_md5sig(struct sk_buff *skb,
4a6144fbc706b3c Dmitry Safonov 2024-11-06 56 const struct tcp_md5sig_info *md5sig,
4a6144fbc706b3c Dmitry Safonov 2024-11-06 57 struct nlmsghdr *nlh)
c03fa9bcacd9ac0 Ivan Delalande 2017-08-31 58 {
4a6144fbc706b3c Dmitry Safonov 2024-11-06 59 size_t key_size = sizeof(struct tcp_diag_md5sig);
4a6144fbc706b3c Dmitry Safonov 2024-11-06 60 unsigned int attrlen, md5sig_count;
c03fa9bcacd9ac0 Ivan Delalande 2017-08-31 61 const struct tcp_md5sig_key *key;
c03fa9bcacd9ac0 Ivan Delalande 2017-08-31 62 struct tcp_diag_md5sig *info;
c03fa9bcacd9ac0 Ivan Delalande 2017-08-31 63 struct nlattr *attr;
c03fa9bcacd9ac0 Ivan Delalande 2017-08-31 64
4a6144fbc706b3c Dmitry Safonov 2024-11-06 65 /*
4a6144fbc706b3c Dmitry Safonov 2024-11-06 66 * Userspace doesn't like to see zero-filled key-values, so
4a6144fbc706b3c Dmitry Safonov 2024-11-06 67 * allocating too large attribute is bad.
4a6144fbc706b3c Dmitry Safonov 2024-11-06 68 */
c03fa9bcacd9ac0 Ivan Delalande 2017-08-31 69 hlist_for_each_entry_rcu(key, &md5sig->head, node)
c03fa9bcacd9ac0 Ivan Delalande 2017-08-31 @70 md5sig_count++;
c03fa9bcacd9ac0 Ivan Delalande 2017-08-31 71 if (md5sig_count == 0)
c03fa9bcacd9ac0 Ivan Delalande 2017-08-31 72 return 0;
c03fa9bcacd9ac0 Ivan Delalande 2017-08-31 73
4a6144fbc706b3c Dmitry Safonov 2024-11-06 74 attrlen = skb_availroom(skb) - NLA_HDRLEN;
4a6144fbc706b3c Dmitry Safonov 2024-11-06 75 md5sig_count = min(md5sig_count, attrlen / key_size);
4a6144fbc706b3c Dmitry Safonov 2024-11-06 76 attr = nla_reserve(skb, INET_DIAG_MD5SIG, md5sig_count * key_size);
c03fa9bcacd9ac0 Ivan Delalande 2017-08-31 77 if (!attr)
c03fa9bcacd9ac0 Ivan Delalande 2017-08-31 78 return -EMSGSIZE;
c03fa9bcacd9ac0 Ivan Delalande 2017-08-31 79
c03fa9bcacd9ac0 Ivan Delalande 2017-08-31 80 info = nla_data(attr);
4a6144fbc706b3c Dmitry Safonov 2024-11-06 81 memset(info, 0, md5sig_count * key_size);
c03fa9bcacd9ac0 Ivan Delalande 2017-08-31 82 hlist_for_each_entry_rcu(key, &md5sig->head, node) {
4a6144fbc706b3c Dmitry Safonov 2024-11-06 83 /* More keys on a socket than pre-allocated space available */
4a6144fbc706b3c Dmitry Safonov 2024-11-06 84 if (md5sig_count-- == 0) {
4a6144fbc706b3c Dmitry Safonov 2024-11-06 85 nlh->nlmsg_flags |= NLM_F_DUMP_INTR;
c03fa9bcacd9ac0 Ivan Delalande 2017-08-31 86 break;
c03fa9bcacd9ac0 Ivan Delalande 2017-08-31 87 }
4a6144fbc706b3c Dmitry Safonov 2024-11-06 88 tcp_diag_md5sig_fill(info++, key);
4a6144fbc706b3c Dmitry Safonov 2024-11-06 89 }
c03fa9bcacd9ac0 Ivan Delalande 2017-08-31 90
c03fa9bcacd9ac0 Ivan Delalande 2017-08-31 91 return 0;
c03fa9bcacd9ac0 Ivan Delalande 2017-08-31 92 }
c03fa9bcacd9ac0 Ivan Delalande 2017-08-31 93 #endif
c03fa9bcacd9ac0 Ivan Delalande 2017-08-31 94
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-11-07 4:22 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20241106-tcp-md5-diag-prep-v1-1-d62debf3dded@gmail.com>
2024-11-07 4:21 ` [PATCH net 1/6] net/diag: Do not race on dumping MD5 keys with adding new MD5 keys kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox