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
.config.gz
Description: application/gzip