* Re: [PATCH v2 bpf-next 10/11] bpf: tcp: Support arbitrary SYN Cookie.
[not found] <20231120222341.54776-11-kuniyu@amazon.com>
@ 2023-11-21 5:17 ` kernel test robot
2023-11-21 5:37 ` Kuniyuki Iwashima
0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2023-11-21 5:17 UTC (permalink / raw)
To: Kuniyuki Iwashima, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, David Ahern, Alexei Starovoitov, Daniel Borkmann,
Andrii Nakryiko, Martin KaFai Lau, Song Liu, Yonghong Song,
John Fastabend, KP Singh, Stanislav Fomichev, Hao Luo, Jiri Olsa,
Mykola Lysenko
Cc: llvm, oe-kbuild-all, netdev, Kuniyuki Iwashima, bpf
Hi Kuniyuki,
kernel test robot noticed the following build errors:
[auto build test ERROR on bpf-next/master]
url: https://github.com/intel-lab-lkp/linux/commits/Kuniyuki-Iwashima/tcp-Clean-up-reverse-xmas-tree-in-cookie_v-46-_check/20231121-063036
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
patch link: https://lore.kernel.org/r/20231120222341.54776-11-kuniyu%40amazon.com
patch subject: [PATCH v2 bpf-next 10/11] bpf: tcp: Support arbitrary SYN Cookie.
config: arm-spear3xx_defconfig (https://download.01.org/0day-ci/archive/20231121/202311211310.E8pJEsnT-lkp@intel.com/config)
compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231121/202311211310.E8pJEsnT-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/202311211310.E8pJEsnT-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from net/core/sock.c:142:
In file included from include/net/tcp.h:32:
>> include/net/inet_hashtables.h:472:22: error: use of undeclared identifier 'sock_pfree'
skb->destructor = sock_pfree;
^
1 error generated.
--
In file included from net/core/filter.c:39:
In file included from include/linux/skmsg.h:13:
In file included from include/net/tcp.h:32:
>> include/net/inet_hashtables.h:472:22: error: use of undeclared identifier 'sock_pfree'
skb->destructor = sock_pfree;
^
net/core/filter.c:11812:13: warning: declaration of 'struct tcp_cookie_attributes' will not be visible outside of this function [-Wvisibility]
struct tcp_cookie_attributes *attr,
^
net/core/filter.c:11821:24: error: invalid application of 'sizeof' to an incomplete type 'struct tcp_cookie_attributes'
if (attr__sz != sizeof(*attr))
^~~~~~~
net/core/filter.c:11812:13: note: forward declaration of 'struct tcp_cookie_attributes'
struct tcp_cookie_attributes *attr,
^
net/core/filter.c:11851:10: error: incomplete definition of type 'struct tcp_cookie_attributes'
if (attr->tcp_opt.mss_clamp < min_mss) {
~~~~^
net/core/filter.c:11812:13: note: forward declaration of 'struct tcp_cookie_attributes'
struct tcp_cookie_attributes *attr,
^
net/core/filter.c:11856:10: error: incomplete definition of type 'struct tcp_cookie_attributes'
if (attr->tcp_opt.wscale_ok &&
~~~~^
net/core/filter.c:11812:13: note: forward declaration of 'struct tcp_cookie_attributes'
struct tcp_cookie_attributes *attr,
^
net/core/filter.c:11857:10: error: incomplete definition of type 'struct tcp_cookie_attributes'
attr->tcp_opt.snd_wscale > TCP_MAX_WSCALE) {
~~~~^
net/core/filter.c:11812:13: note: forward declaration of 'struct tcp_cookie_attributes'
struct tcp_cookie_attributes *attr,
^
net/core/filter.c:11875:17: error: incomplete definition of type 'struct tcp_cookie_attributes'
req->mss = attr->tcp_opt.mss_clamp;
~~~~^
net/core/filter.c:11812:13: note: forward declaration of 'struct tcp_cookie_attributes'
struct tcp_cookie_attributes *attr,
^
net/core/filter.c:11877:25: error: incomplete definition of type 'struct tcp_cookie_attributes'
ireq->snd_wscale = attr->tcp_opt.snd_wscale;
~~~~^
net/core/filter.c:11812:13: note: forward declaration of 'struct tcp_cookie_attributes'
struct tcp_cookie_attributes *attr,
^
net/core/filter.c:11878:24: error: incomplete definition of type 'struct tcp_cookie_attributes'
ireq->wscale_ok = attr->tcp_opt.wscale_ok;
~~~~^
net/core/filter.c:11812:13: note: forward declaration of 'struct tcp_cookie_attributes'
struct tcp_cookie_attributes *attr,
^
net/core/filter.c:11879:24: error: incomplete definition of type 'struct tcp_cookie_attributes'
ireq->tstamp_ok = attr->tcp_opt.tstamp_ok;
~~~~^
net/core/filter.c:11812:13: note: forward declaration of 'struct tcp_cookie_attributes'
struct tcp_cookie_attributes *attr,
^
net/core/filter.c:11880:22: error: incomplete definition of type 'struct tcp_cookie_attributes'
ireq->sack_ok = attr->tcp_opt.sack_ok;
~~~~^
net/core/filter.c:11812:13: note: forward declaration of 'struct tcp_cookie_attributes'
struct tcp_cookie_attributes *attr,
^
net/core/filter.c:11881:21: error: incomplete definition of type 'struct tcp_cookie_attributes'
ireq->ecn_ok = attr->ecn_ok;
~~~~^
net/core/filter.c:11812:13: note: forward declaration of 'struct tcp_cookie_attributes'
struct tcp_cookie_attributes *attr,
^
net/core/filter.c:11883:26: error: incomplete definition of type 'struct tcp_cookie_attributes'
treq->req_usec_ts = attr->usec_ts_ok;
~~~~^
net/core/filter.c:11812:13: note: forward declaration of 'struct tcp_cookie_attributes'
struct tcp_cookie_attributes *attr,
^
>> net/core/filter.c:11887:20: error: use of undeclared identifier 'sock_pfree'
skb->destructor = sock_pfree;
^
1 warning and 13 errors generated.
vim +/sock_pfree +472 include/net/inet_hashtables.h
451
452 static inline
453 struct sock *inet_steal_sock(struct net *net, struct sk_buff *skb, int doff,
454 const __be32 saddr, const __be16 sport,
455 const __be32 daddr, const __be16 dport,
456 bool *refcounted, inet_ehashfn_t *ehashfn)
457 {
458 struct sock *sk, *reuse_sk;
459 bool prefetched;
460
461 sk = skb_steal_sock(skb, refcounted, &prefetched);
462 if (!sk)
463 return NULL;
464
465 if (!prefetched)
466 return sk;
467
468 if (sk->sk_state == TCP_NEW_SYN_RECV) {
469 if (inet_reqsk(sk)->syncookie) {
470 *refcounted = false;
471 skb->sk = sk;
> 472 skb->destructor = sock_pfree;
473 return inet_reqsk(sk)->rsk_listener;
474 }
475 return sk;
476 } else if (sk->sk_state == TCP_TIME_WAIT) {
477 return sk;
478 }
479
480 if (sk->sk_protocol == IPPROTO_TCP) {
481 if (sk->sk_state != TCP_LISTEN)
482 return sk;
483 } else if (sk->sk_protocol == IPPROTO_UDP) {
484 if (sk->sk_state != TCP_CLOSE)
485 return sk;
486 } else {
487 return sk;
488 }
489
490 reuse_sk = inet_lookup_reuseport(net, sk, skb, doff,
491 saddr, sport, daddr, ntohs(dport),
492 ehashfn);
493 if (!reuse_sk)
494 return sk;
495
496 /* We've chosen a new reuseport sock which is never refcounted. This
497 * implies that sk also isn't refcounted.
498 */
499 WARN_ON_ONCE(*refcounted);
500
501 return reuse_sk;
502 }
503
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread