tree:
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: b0523c7b1c9d0edcd6c0fe6d2cb558a9ad5c60a8
commit: ee04805ff54a63ffd90bc6749ebfe73473734ddb [11987/12912] netfilter: conntrack: make
conntrack userspace helpers work again
config: x86_64-allyesconfig (attached as .config)
compiler: clang version 11.0.0 (
https://github.com/llvm/llvm-project
3393cc4cebf9969db94dc424b7a2b6195589c33b)
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
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
git checkout ee04805ff54a63ffd90bc6749ebfe73473734ddb
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>, old ones prefixed by <<):
In file included from net/netfilter/nf_conntrack_core.c:51:
In file included from include/net/netfilter/nf_nat.h:7:
include/linux/netfilter/nf_conntrack_pptp.h:13:20: warning: 'const' type qualifier
on return type has no effect [-Wignored-qualifiers]
extern const char *const pptp_msg_name(u_int16_t msg);
^~~~~~
> net/netfilter/nf_conntrack_core.c:2068:21: warning: variable
'ctinfo' is uninitialized when used here [-Wuninitialized]
nf_ct_set(skb,
ct, ctinfo);
^~~~~~
net/netfilter/nf_conntrack_core.c:2024:2: note: variable 'ctinfo' is declared
here
enum ip_conntrack_info ctinfo;
^
2 warnings generated.
vim +/ctinfo +2068 net/netfilter/nf_conntrack_core.c
9fb9cbb1082d6b Yasuyuki Kozakai 2005-11-09 2018
ee04805ff54a63 Pablo Neira Ayuso 2020-05-24 2019 static int __nf_conntrack_update(struct
net *net, struct sk_buff *skb,
ee04805ff54a63 Pablo Neira Ayuso 2020-05-24 2020 struct nf_conn *ct)
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2021 {
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2022 struct nf_conntrack_tuple_hash *h;
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2023 struct nf_conntrack_tuple tuple;
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2024 enum ip_conntrack_info ctinfo;
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2025 struct nf_nat_hook *nat_hook;
6816d931cab009 Florian Westphal 2018-06-29 2026 unsigned int status;
6816d931cab009 Florian Westphal 2018-06-29 2027 int dataoff;
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2028 u16 l3num;
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2029 u8 l4num;
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2030
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2031 l3num = nf_ct_l3num(ct);
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2032
6816d931cab009 Florian Westphal 2018-06-29 2033 dataoff = get_l4proto(skb,
skb_network_offset(skb), l3num, &l4num);
6816d931cab009 Florian Westphal 2018-06-29 2034 if (dataoff <= 0)
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2035 return -1;
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2036
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2037 if (!nf_ct_get_tuple(skb,
skb_network_offset(skb), dataoff, l3num,
303e0c5589592e Florian Westphal 2019-01-15 2038 l4num, net, &tuple))
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2039 return -1;
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2040
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2041 if (ct->status & IPS_SRC_NAT)
{
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2042 memcpy(tuple.src.u3.all,
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2043
ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.u3.all,
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2044 sizeof(tuple.src.u3.all));
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2045 tuple.src.u.all =
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2046
ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.u.all;
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2047 }
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2048
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2049 if (ct->status & IPS_DST_NAT)
{
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2050 memcpy(tuple.dst.u3.all,
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2051
ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.dst.u3.all,
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2052 sizeof(tuple.dst.u3.all));
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2053 tuple.dst.u.all =
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2054
ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.dst.u.all;
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2055 }
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2056
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2057 h = nf_conntrack_find_get(net,
nf_ct_zone(ct), &tuple);
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2058 if (!h)
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2059 return 0;
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2060
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2061 /* Store status bits of the conntrack
that is clashing to re-do NAT
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2062 * mangling according to what it has
been done already to this packet.
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2063 */
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2064 status = ct->status;
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2065
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2066 nf_ct_put(ct);
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2067 ct = nf_ct_tuplehash_to_ctrack(h);
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 @2068 nf_ct_set(skb, ct, ctinfo);
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2069
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2070 nat_hook =
rcu_dereference(nf_nat_hook);
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2071 if (!nat_hook)
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2072 return 0;
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2073
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2074 if (status & IPS_SRC_NAT
&&
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2075 nat_hook->manip_pkt(skb, ct,
NF_NAT_MANIP_SRC,
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2076 IP_CT_DIR_ORIGINAL) == NF_DROP)
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2077 return -1;
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2078
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2079 if (status & IPS_DST_NAT
&&
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2080 nat_hook->manip_pkt(skb, ct,
NF_NAT_MANIP_DST,
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2081 IP_CT_DIR_ORIGINAL) == NF_DROP)
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2082 return -1;
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2083
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2084 return 0;
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2085 }
368982cd7d1bd4 Pablo Neira Ayuso 2018-05-23 2086
:::::: The code at line 2068 was first introduced by commit
:::::: 368982cd7d1bd41cd39049c794990aca3770db44 netfilter: nfnetlink_queue: resolve clash
for unconfirmed conntracks
:::::: TO: Pablo Neira Ayuso <pablo(a)netfilter.org>
:::::: CC: Pablo Neira Ayuso <pablo(a)netfilter.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org