From: kernel test robot <lkp@intel.com>
To: Dmitry Safonov via B4 Relay
<devnull+0x7f454c46.gmail.com@kernel.org>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Simon Horman <horms@kernel.org>, David Ahern <dsahern@kernel.org>,
Ivan Delalande <colona@arista.com>,
Matthieu Baerts <matttbe@kernel.org>,
Mat Martineau <martineau@kernel.org>,
Geliang Tang <geliang@kernel.org>,
Boris Pismenny <borisp@nvidia.com>,
John Fastabend <john.fastabend@gmail.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
mptcp@lists.linux.dev, Dmitry Safonov <0x7f454c46@gmail.com>,
stable@vger.kernel.org
Subject: Re: [PATCH net 1/6] net/diag: Do not race on dumping MD5 keys with adding new MD5 keys
Date: Thu, 7 Nov 2024 12:21:41 +0800 [thread overview]
Message-ID: <202411071218.G7g6a8JG-lkp@intel.com> (raw)
In-Reply-To: <20241106-tcp-md5-diag-prep-v1-1-d62debf3dded@gmail.com>
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
parent reply other threads:[~2024-11-07 4:22 UTC|newest]
Thread overview: expand[flat|nested] mbox.gz Atom feed
[parent not found: <20241106-tcp-md5-diag-prep-v1-1-d62debf3dded@gmail.com>]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202411071218.G7g6a8JG-lkp@intel.com \
--to=lkp@intel.com \
--cc=0x7f454c46@gmail.com \
--cc=borisp@nvidia.com \
--cc=colona@arista.com \
--cc=davem@davemloft.net \
--cc=devnull+0x7f454c46.gmail.com@kernel.org \
--cc=dsahern@kernel.org \
--cc=edumazet@google.com \
--cc=geliang@kernel.org \
--cc=horms@kernel.org \
--cc=john.fastabend@gmail.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=martineau@kernel.org \
--cc=matttbe@kernel.org \
--cc=mptcp@lists.linux.dev \
--cc=netdev@vger.kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=pabeni@redhat.com \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox