Hi Jiyong,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on 3bf7edc84a9eb4007dd9a0cb8878a7e1d5ec6a3b]

url:    
https://github.com/0day-ci/linux/commits/Jiyong-Park/vsock-cycle-only-on-its-own-socket/20220310-205638
base:   3bf7edc84a9eb4007dd9a0cb8878a7e1d5ec6a3b
config: x86_64-rhel-8.3 
(https://download.01.org/0day-ci/archive/20220311/[email protected]/config)
compiler: gcc-9 (Ubuntu 9.4.0-1ubuntu1~20.04) 9.4.0
reproduce (this is a W=1 build):
        # 
https://github.com/0day-ci/linux/commit/6219060e1d706d7055fb0829b3bf23c5ae84790e
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Jiyong-Park/vsock-cycle-only-on-its-own-socket/20220310-205638
        git checkout 6219060e1d706d7055fb0829b3bf23c5ae84790e
        # save the config file to linux build tree
        mkdir build_dir
        make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash net/vmw_vsock/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>

All errors (new ones prefixed by >>):

   net/vmw_vsock/vmci_transport.c: In function 'vmci_transport_handle_detach':
>> net/vmw_vsock/vmci_transport.c:808:25: error: 'vmci_transport' undeclared 
>> (first use in this function)
     808 |  if (vsk->transport != &vmci_transport)
         |                         ^~~~~~~~~~~~~~
   net/vmw_vsock/vmci_transport.c:808:25: note: each undeclared identifier is 
reported only once for each function it appears in


vim +/vmci_transport +808 net/vmw_vsock/vmci_transport.c

   800  
   801  static void vmci_transport_handle_detach(struct sock *sk)
   802  {
   803          struct vsock_sock *vsk;
   804  
   805          vsk = vsock_sk(sk);
   806  
   807          /* Only handle our own sockets */
 > 808          if (vsk->transport != &vmci_transport)
   809                  return;
   810  
   811          if (!vmci_handle_is_invalid(vmci_trans(vsk)->qp_handle)) {
   812                  sock_set_flag(sk, SOCK_DONE);
   813  
   814                  /* On a detach the peer will not be sending or receiving
   815                   * anymore.
   816                   */
   817                  vsk->peer_shutdown = SHUTDOWN_MASK;
   818  
   819                  /* We should not be sending anymore since the peer 
won't be
   820                   * there to receive, but we can still receive if there 
is data
   821                   * left in our consume queue. If the local endpoint is 
a host,
   822                   * we can't call vsock_stream_has_data, since that may 
block,
   823                   * but a host endpoint can't read data once the VM has
   824                   * detached, so there is no available data in that case.
   825                   */
   826                  if (vsk->local_addr.svm_cid == VMADDR_CID_HOST ||
   827                      vsock_stream_has_data(vsk) <= 0) {
   828                          if (sk->sk_state == TCP_SYN_SENT) {
   829                                  /* The peer may detach from a queue 
pair while
   830                                   * we are still in the connecting 
state, i.e.,
   831                                   * if the peer VM is killed after 
attaching to
   832                                   * a queue pair, but before we complete 
the
   833                                   * handshake. In that case, we treat 
the detach
   834                                   * event like a reset.
   835                                   */
   836  
   837                                  sk->sk_state = TCP_CLOSE;
   838                                  sk->sk_err = ECONNRESET;
   839                                  sk_error_report(sk);
   840                                  return;
   841                          }
   842                          sk->sk_state = TCP_CLOSE;
   843                  }
   844                  sk->sk_state_change(sk);
   845          }
   846  }
   847  

---
0-DAY CI Kernel Test Service
https://lists.01.org/hyperkitty/list/[email protected]
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to