lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 2 Jan 2018 12:01:13 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Lawrence Brakmo <brakmo@...com>
Cc:     kbuild-all@...org, netdev <netdev@...r.kernel.org>,
        Kernel Team <kernel-team@...com>,
        Blake Matheny <bmatheny@...com>,
        Alexei Starovoitov <ast@...com>,
        Daniel Borkmann <daniel@...earbox.net>,
        Eric Dumazet <eric.dumazet@...il.com>,
        Neal Cardwell <ncardwell@...gle.com>,
        Yuchung Cheng <ycheng@...gle.com>
Subject: Re: [PATCH v3 bpf-next 10/11] bpf: Add BPF_SOCK_OPS_STATE_CB

Hi Lawrence,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on net-next/master]
[also build test WARNING on next-20171222]
[cannot apply to bpf-next/master linus/master net/master v4.15-rc6]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Lawrence-Brakmo/bpf-More-sock_ops-callbacks/20180102-111550
config: x86_64-randconfig-x007-201800 (attached as .config)
compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All warnings (new ones prefixed by >>):

   In file included from arch/x86/include/asm/atomic.h:5:0,
                    from include/linux/atomic.h:5,
                    from include/linux/crypto.h:20,
                    from include/crypto/hash.h:16,
                    from net//ipv4/tcp.c:250:
   net//ipv4/tcp.c: In function 'tcp_set_state':
>> net//ipv4/tcp.c:2041:34: warning: comparison between 'enum <anonymous>' and 'enum <anonymous>' [-Wenum-compare]
     BUILD_BUG_ON(BPF_TCP_MAX_STATES != TCP_MAX_STATES);
                                     ^
   include/linux/compiler.h:301:19: note: in definition of macro '__compiletime_assert'
      bool __cond = !(condition);    \
                      ^~~~~~~~~
   include/linux/compiler.h:324:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
     ^~~~~~~~~~~~~~~~~~~
   include/linux/build_bug.h:47:37: note: in expansion of macro 'compiletime_assert'
    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                        ^~~~~~~~~~~~~~~~~~
   include/linux/build_bug.h:71:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
     BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
     ^~~~~~~~~~~~~~~~
>> net//ipv4/tcp.c:2041:2: note: in expansion of macro 'BUILD_BUG_ON'
     BUILD_BUG_ON(BPF_TCP_MAX_STATES != TCP_MAX_STATES);
     ^~~~~~~~~~~~

vim +/BUILD_BUG_ON +2041 net//ipv4/tcp.c

  2036	
  2037	void tcp_set_state(struct sock *sk, int state)
  2038	{
  2039		int oldstate = sk->sk_state;
  2040	
> 2041		BUILD_BUG_ON(BPF_TCP_MAX_STATES != TCP_MAX_STATES);
  2042		if (BPF_SOCK_OPS_TEST_FLAG(tcp_sk(sk), BPF_SOCK_OPS_STATE_CB_FLAG))
  2043			tcp_call_bpf_2arg(sk, BPF_SOCK_OPS_STATE_CB, oldstate, state);
  2044	
  2045		switch (state) {
  2046		case TCP_ESTABLISHED:
  2047			if (oldstate != TCP_ESTABLISHED)
  2048				TCP_INC_STATS(sock_net(sk), TCP_MIB_CURRESTAB);
  2049			break;
  2050	
  2051		case TCP_CLOSE:
  2052			if (oldstate == TCP_CLOSE_WAIT || oldstate == TCP_ESTABLISHED)
  2053				TCP_INC_STATS(sock_net(sk), TCP_MIB_ESTABRESETS);
  2054	
  2055			sk->sk_prot->unhash(sk);
  2056			if (inet_csk(sk)->icsk_bind_hash &&
  2057			    !(sk->sk_userlocks & SOCK_BINDPORT_LOCK))
  2058				inet_put_port(sk);
  2059			/* fall through */
  2060		default:
  2061			if (oldstate == TCP_ESTABLISHED)
  2062				TCP_DEC_STATS(sock_net(sk), TCP_MIB_CURRESTAB);
  2063		}
  2064	
  2065		/* Change state AFTER socket is unhashed to avoid closed
  2066		 * socket sitting in hash tables.
  2067		 */
  2068		inet_sk_state_store(sk, state);
  2069	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Download attachment ".config.gz" of type "application/gzip" (31602 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ