Hi Chunguang, Thank you for the patch! Yet something to improve: [auto build test ERROR on mkp-scsi/for-next] [also build test ERROR on scsi/for-next block/for-next linus/master asm-generic/master v5.9-rc2 next-20200827] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Chunguang-Xu/clean-up-the-code-related-to-ASSERT/20200827-182148 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: x86_64-randconfig-a015-20200827 (attached as .config) compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 71f3169e1baeff262583b35ef88f8fb6df7be85e) 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 # 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: kernel test robot All errors (new ones prefixed by >>): >> net/rxrpc/af_rxrpc.c:226:3: error: use of undeclared identifier 'x' ASSERT(rx->local != NULL); ^ net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ >> net/rxrpc/af_rxrpc.c:226:3: error: use of undeclared identifier 'x' net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ 2 errors generated. -- >> net/rxrpc/call_accept.c:479:2: error: use of undeclared identifier 'x' ASSERT(!irqs_disabled()); ^ net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ >> net/rxrpc/call_accept.c:479:2: error: use of undeclared identifier 'x' net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ net/rxrpc/call_accept.c:602:2: error: use of undeclared identifier 'x' ASSERT(!irqs_disabled()); ^ net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ net/rxrpc/call_accept.c:602:2: error: use of undeclared identifier 'x' net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ 4 errors generated. -- >> net/rxrpc/call_event.c:177:2: error: use of undeclared identifier 'x' ASSERT(before_eq(cursor, top)); ^ net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ >> net/rxrpc/call_event.c:177:2: error: use of undeclared identifier 'x' net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ 2 errors generated. -- >> net/rxrpc/call_object.c:555:2: error: use of undeclared identifier 'x' ASSERT(call != NULL); ^ net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ >> net/rxrpc/call_object.c:555:2: error: use of undeclared identifier 'x' net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ net/rxrpc/call_object.c:619:2: error: use of undeclared identifier 'x' ASSERT(test_bit(RXRPC_CALL_RELEASED, &call->flags)); ^ net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ net/rxrpc/call_object.c:619:2: error: use of undeclared identifier 'x' net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ 4 errors generated. -- >> net/rxrpc/conn_client.c:811:3: error: use of undeclared identifier 'x' ASSERT(!test_bit(RXRPC_CALL_EXPOSED, &call->flags)); ^ net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ >> net/rxrpc/conn_client.c:811:3: error: use of undeclared identifier 'x' net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ net/rxrpc/conn_client.c:901:3: error: use of undeclared identifier 'x' ASSERT(list_empty(&conn->waiting_calls)); ^ net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ net/rxrpc/conn_client.c:901:3: error: use of undeclared identifier 'x' net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ net/rxrpc/conn_client.c:1034:3: error: use of undeclared identifier 'x' ASSERT(!list_empty(&rxnet->active_client_conns)); ^ net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ net/rxrpc/conn_client.c:1034:3: error: use of undeclared identifier 'x' net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ net/rxrpc/conn_client.c:1101:2: error: use of undeclared identifier 'x' ASSERT(test_bit(RXRPC_CONN_EXPOSED, &conn->flags)); ^ net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ net/rxrpc/conn_client.c:1101:2: error: use of undeclared identifier 'x' net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ 8 errors generated. -- >> net/rxrpc/conn_event.c:377:2: error: use of undeclared identifier 'x' ASSERT(conn->security_ix != 0); ^ net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ >> net/rxrpc/conn_event.c:377:2: error: use of undeclared identifier 'x' net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ net/rxrpc/conn_event.c:378:2: error: use of undeclared identifier 'x' ASSERT(conn->server_key); ^ net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ net/rxrpc/conn_event.c:378:2: error: use of undeclared identifier 'x' net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ 4 errors generated. -- >> net/rxrpc/conn_object.c:239:2: error: use of undeclared identifier 'x' ASSERT(!rcu_access_pointer(conn->channels[0].call) && ^ net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ >> net/rxrpc/conn_object.c:239:2: error: use of undeclared identifier 'x' net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ net/rxrpc/conn_object.c:243:2: error: use of undeclared identifier 'x' ASSERT(list_empty(&conn->cache_link)); ^ net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ net/rxrpc/conn_object.c:243:2: error: use of undeclared identifier 'x' net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ net/rxrpc/conn_object.c:438:3: error: use of undeclared identifier 'x' ASSERT(time_after(earliest, now)); ^ net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ net/rxrpc/conn_object.c:438:3: error: use of undeclared identifier 'x' net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ net/rxrpc/conn_object.c:481:2: error: use of undeclared identifier 'x' ASSERT(list_empty(&rxnet->conn_proc_list)); ^ net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ net/rxrpc/conn_object.c:481:2: error: use of undeclared identifier 'x' net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ 8 errors generated. -- >> net/rxrpc/input.c:262:2: error: use of undeclared identifier 'x' ASSERT(test_bit(RXRPC_CALL_TX_LAST, &call->flags)); ^ net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ >> net/rxrpc/input.c:262:2: error: use of undeclared identifier 'x' net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ 2 errors generated. -- >> net/rxrpc/local_object.c:401:2: error: use of undeclared identifier 'x' ASSERT(!local->service); ^ net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ >> net/rxrpc/local_object.c:401:2: error: use of undeclared identifier 'x' net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ net/rxrpc/local_object.c:462:2: error: use of undeclared identifier 'x' ASSERT(!work_pending(&local->processor)); ^ net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ net/rxrpc/local_object.c:462:2: error: use of undeclared identifier 'x' net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ 4 errors generated. -- >> net/rxrpc/peer_event.c:397:2: error: use of undeclared identifier 'x' ASSERT(list_empty(&collector)); ^ net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ >> net/rxrpc/peer_event.c:397:2: error: use of undeclared identifier 'x' net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ 2 errors generated. -- >> net/rxrpc/peer_object.c:416:2: error: use of undeclared identifier 'x' ASSERT(hlist_empty(&peer->error_targets)); ^ net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ >> net/rxrpc/peer_object.c:416:2: error: use of undeclared identifier 'x' net/rxrpc/ar-internal.h:1184:31: note: expanded from macro 'ASSERT' #define ASSERT(X) ASSERT_FAIL(x) ^ 2 errors generated. .. # https://github.com/0day-ci/linux/commit/1d215ffa42c9e100fa23c485351acf9293936807 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Chunguang-Xu/clean-up-the-code-related-to-ASSERT/20200827-182148 git checkout 1d215ffa42c9e100fa23c485351acf9293936807 vim +/x +226 net/rxrpc/af_rxrpc.c 17926a79320afa9 David Howells 2007-04-26 205 17926a79320afa9 David Howells 2007-04-26 206 /* 17926a79320afa9 David Howells 2007-04-26 207 * set the number of pending calls permitted on a listening socket 17926a79320afa9 David Howells 2007-04-26 208 */ 17926a79320afa9 David Howells 2007-04-26 209 static int rxrpc_listen(struct socket *sock, int backlog) 17926a79320afa9 David Howells 2007-04-26 210 { 17926a79320afa9 David Howells 2007-04-26 211 struct sock *sk = sock->sk; 17926a79320afa9 David Howells 2007-04-26 212 struct rxrpc_sock *rx = rxrpc_sk(sk); 00e907127e6f86d David Howells 2016-09-08 213 unsigned int max, old; 17926a79320afa9 David Howells 2007-04-26 214 int ret; 17926a79320afa9 David Howells 2007-04-26 215 17926a79320afa9 David Howells 2007-04-26 216 _enter("%p,%d", rx, backlog); 17926a79320afa9 David Howells 2007-04-26 217 17926a79320afa9 David Howells 2007-04-26 218 lock_sock(&rx->sk); 17926a79320afa9 David Howells 2007-04-26 219 17926a79320afa9 David Howells 2007-04-26 220 switch (rx->sk.sk_state) { 2341e0775747864 David Howells 2016-06-09 221 case RXRPC_UNBOUND: 17926a79320afa9 David Howells 2007-04-26 222 ret = -EADDRNOTAVAIL; 17926a79320afa9 David Howells 2007-04-26 223 break; 17926a79320afa9 David Howells 2007-04-26 224 case RXRPC_SERVER_BOUND: 28036f44851e251 David Howells 2017-06-05 225 case RXRPC_SERVER_BOUND2: 17926a79320afa9 David Howells 2007-04-26 @226 ASSERT(rx->local != NULL); 0e119b41b7f23e0 David Howells 2016-06-10 227 max = READ_ONCE(rxrpc_max_backlog); 0e119b41b7f23e0 David Howells 2016-06-10 228 ret = -EINVAL; 0e119b41b7f23e0 David Howells 2016-06-10 229 if (backlog == INT_MAX) 0e119b41b7f23e0 David Howells 2016-06-10 230 backlog = max; 0e119b41b7f23e0 David Howells 2016-06-10 231 else if (backlog < 0 || backlog > max) 0e119b41b7f23e0 David Howells 2016-06-10 232 break; 00e907127e6f86d David Howells 2016-09-08 233 old = sk->sk_max_ack_backlog; 17926a79320afa9 David Howells 2007-04-26 234 sk->sk_max_ack_backlog = backlog; 00e907127e6f86d David Howells 2016-09-08 235 ret = rxrpc_service_prealloc(rx, GFP_KERNEL); 00e907127e6f86d David Howells 2016-09-08 236 if (ret == 0) 17926a79320afa9 David Howells 2007-04-26 237 rx->sk.sk_state = RXRPC_SERVER_LISTENING; 00e907127e6f86d David Howells 2016-09-08 238 else 00e907127e6f86d David Howells 2016-09-08 239 sk->sk_max_ack_backlog = old; 17926a79320afa9 David Howells 2007-04-26 240 break; 210f035316f545e David Howells 2017-01-05 241 case RXRPC_SERVER_LISTENING: 210f035316f545e David Howells 2017-01-05 242 if (backlog == 0) { 210f035316f545e David Howells 2017-01-05 243 rx->sk.sk_state = RXRPC_SERVER_LISTEN_DISABLED; 210f035316f545e David Howells 2017-01-05 244 sk->sk_max_ack_backlog = 0; 210f035316f545e David Howells 2017-01-05 245 rxrpc_discard_prealloc(rx); 210f035316f545e David Howells 2017-01-05 246 ret = 0; 210f035316f545e David Howells 2017-01-05 247 break; 210f035316f545e David Howells 2017-01-05 248 } e3cf39706b89001 Gustavo A. R. Silva 2017-10-19 249 /* Fall through */ 0e119b41b7f23e0 David Howells 2016-06-10 250 default: 0e119b41b7f23e0 David Howells 2016-06-10 251 ret = -EBUSY; 0e119b41b7f23e0 David Howells 2016-06-10 252 break; 17926a79320afa9 David Howells 2007-04-26 253 } 17926a79320afa9 David Howells 2007-04-26 254 17926a79320afa9 David Howells 2007-04-26 255 release_sock(&rx->sk); 17926a79320afa9 David Howells 2007-04-26 256 _leave(" = %d", ret); 17926a79320afa9 David Howells 2007-04-26 257 return ret; 17926a79320afa9 David Howells 2007-04-26 258 } 17926a79320afa9 David Howells 2007-04-26 259 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org