Re: [PATCH net-next] inet: remove races in inet{6}_getname()
From: kernel test robot <hidden>
Date: 2021-10-26 20:54:17
Also in:
oe-kbuild-all
Hi Eric, I love your patch! Yet something to improve: [auto build test ERROR on net-next/master] url: https://github.com/0day-ci/linux/commits/Eric-Dumazet/inet-remove-races-in-inet-6-_getname/20211027-013901 base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 6b3671746a8a3aa05316b829e1357060f35009c1 config: csky-defconfig (attached as .config) compiler: csky-linux-gcc (GCC) 11.2.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://github.com/0day-ci/linux/commit/337791bc53db80fb5982e0f66be795a2d37c3d8d git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Eric-Dumazet/inet-remove-races-in-inet-6-_getname/20211027-013901 git checkout 337791bc53db80fb5982e0f66be795a2d37c3d8d # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=csky If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <redacted> All errors (new ones prefixed by >>): net/ipv6/af_inet6.c: In function 'inet6_getname':
quoted
net/ipv6/af_inet6.c:536:17: error: implicit declaration of function 'BPF_CGROUP_RUN_SA_PROG'; did you mean 'BPF_CGROUP_RUN_SA_PROG_LOCK'? [-Werror=implicit-function-declaration]
536 | BPF_CGROUP_RUN_SA_PROG(sk, (struct sockaddr *)sin,
| ^~~~~~~~~~~~~~~~~~~~~~
| BPF_CGROUP_RUN_SA_PROG_LOCKquoted
net/ipv6/af_inet6.c:537:40: error: 'CGROUP_INET6_GETPEERNAME' undeclared (first use in this function); did you mean 'BPF_CGROUP_INET6_GETPEERNAME'?
537 | CGROUP_INET6_GETPEERNAME);
| ^~~~~~~~~~~~~~~~~~~~~~~~
| BPF_CGROUP_INET6_GETPEERNAME
net/ipv6/af_inet6.c:537:40: note: each undeclared identifier is reported only once for each function it appears inquoted
net/ipv6/af_inet6.c:545:40: error: 'CGROUP_INET6_GETSOCKNAME' undeclared (first use in this function); did you mean 'BPF_CGROUP_INET6_GETSOCKNAME'?
545 | CGROUP_INET6_GETSOCKNAME);
| ^~~~~~~~~~~~~~~~~~~~~~~~
| BPF_CGROUP_INET6_GETSOCKNAME
cc1: some warnings being treated as errors
vim +536 net/ipv6/af_inet6.c
509
510 /*
511 * This does both peername and sockname.
512 */
513 int inet6_getname(struct socket *sock, struct sockaddr *uaddr,
514 int peer)
515 {
516 struct sockaddr_in6 *sin = (struct sockaddr_in6 *)uaddr;
517 struct sock *sk = sock->sk;
518 struct inet_sock *inet = inet_sk(sk);
519 struct ipv6_pinfo *np = inet6_sk(sk);
520
521 sin->sin6_family = AF_INET6;
522 sin->sin6_flowinfo = 0;
523 sin->sin6_scope_id = 0;
524 lock_sock(sk);
525 if (peer) {
526 if (!inet->inet_dport ||
527 (((1 << sk->sk_state) & (TCPF_CLOSE | TCPF_SYN_SENT)) &&
528 peer == 1)) {
529 release_sock(sk);
530 return -ENOTCONN;
531 }
532 sin->sin6_port = inet->inet_dport;
533 sin->sin6_addr = sk->sk_v6_daddr;
534 if (np->sndflow)
535 sin->sin6_flowinfo = np->flow_label;
> 536 BPF_CGROUP_RUN_SA_PROG(sk, (struct sockaddr *)sin,
> 537 CGROUP_INET6_GETPEERNAME);
538 } else {
539 if (ipv6_addr_any(&sk->sk_v6_rcv_saddr))
540 sin->sin6_addr = np->saddr;
541 else
542 sin->sin6_addr = sk->sk_v6_rcv_saddr;
543 sin->sin6_port = inet->inet_sport;
544 BPF_CGROUP_RUN_SA_PROG(sk, (struct sockaddr *)sin,
> 545 CGROUP_INET6_GETSOCKNAME);
546 }
547 sin->sin6_scope_id = ipv6_iface_scope_id(&sin->sin6_addr,
548 sk->sk_bound_dev_if);
549 release_sock(sk);
550 return sizeof(*sin);
551 }
552 EXPORT_SYMBOL(inet6_getname);
553
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Attachments
- .config.gz [application/gzip] 10470 bytes