All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Bobby Eshleman <bobby.eshleman@bytedance.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: Re: [PATCH RFC net-next v2 3/4] vsock: Add lockless sendmsg() support
Date: Sat, 15 Apr 2023 14:13:21 +0800	[thread overview]
Message-ID: <202304151306.Z5FbLtBt-lkp@intel.com> (raw)
In-Reply-To: <20230413-b4-vsock-dgram-v2-3-079cc7cee62e@bytedance.com>

Hi Bobby,

[This is a private test report for your RFC patch.]
kernel test robot noticed the following build errors:

[auto build test ERROR on ed72bd5a6790a0c3747cb32b0427f921bd03bb71]

url:    https://github.com/intel-lab-lkp/linux/commits/Bobby-Eshleman/virtio-vsock-support-dgram/20230414-082831
base:   ed72bd5a6790a0c3747cb32b0427f921bd03bb71
patch link:    https://lore.kernel.org/r/20230413-b4-vsock-dgram-v2-3-079cc7cee62e%40bytedance.com
patch subject: [PATCH RFC net-next v2 3/4] vsock: Add lockless sendmsg() support
config: i386-allmodconfig (https://download.01.org/0day-ci/archive/20230415/202304151306.Z5FbLtBt-lkp@intel.com/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
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/intel-lab-lkp/linux/commit/de4d5e13dd5c747996abbc4e9ce38eeb3093ea01
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Bobby-Eshleman/virtio-vsock-support-dgram/20230414-082831
        git checkout de4d5e13dd5c747996abbc4e9ce38eeb3093ea01
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash net/vmw_vsock/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202304151306.Z5FbLtBt-lkp@intel.com/

All errors (new ones prefixed by >>):

>> net/vmw_vsock/vmci_transport.c:1326:3: error: expected expression
                   struct sockaddr_vm_rcu *remote_addr;
                   ^
>> net/vmw_vsock/vmci_transport.c:1329:3: error: use of undeclared identifier 'remote_addr'
                   remote_addr = rcu_dereference(vsk->remote_addr);
                   ^
   net/vmw_vsock/vmci_transport.c:1330:8: error: use of undeclared identifier 'remote_addr'
                   if (!remote_addr) {
                        ^
   net/vmw_vsock/vmci_transport.c:1338:33: error: use of undeclared identifier 'remote_addr'
                       || pkt->dg.src.context != remote_addr->addr.svm_cid
                                                 ^
   net/vmw_vsock/vmci_transport.c:1339:27: error: use of undeclared identifier 'remote_addr'
                       || pkt->src_port != remote_addr->addr.svm_port
                                           ^
   5 errors generated.


vim +1326 net/vmw_vsock/vmci_transport.c

  1292	
  1293	static int
  1294	vmci_transport_recv_connecting_client(struct sock *sk,
  1295					      struct vmci_transport_packet *pkt)
  1296	{
  1297		struct vsock_sock *vsk;
  1298		int err;
  1299		int skerr;
  1300	
  1301		vsk = vsock_sk(sk);
  1302	
  1303		switch (pkt->type) {
  1304		case VMCI_TRANSPORT_PACKET_TYPE_ATTACH:
  1305			if (vmci_handle_is_invalid(pkt->u.handle) ||
  1306			    !vmci_handle_is_equal(pkt->u.handle,
  1307						  vmci_trans(vsk)->qp_handle)) {
  1308				skerr = EPROTO;
  1309				err = -EINVAL;
  1310				goto destroy;
  1311			}
  1312	
  1313			/* Signify the socket is connected and wakeup the waiter in
  1314			 * connect(). Also place the socket in the connected table for
  1315			 * accounting (it can already be found since it's in the bound
  1316			 * table).
  1317			 */
  1318			sk->sk_state = TCP_ESTABLISHED;
  1319			sk->sk_socket->state = SS_CONNECTED;
  1320			vsock_insert_connected(vsk);
  1321			sk->sk_state_change(sk);
  1322	
  1323			break;
  1324		case VMCI_TRANSPORT_PACKET_TYPE_NEGOTIATE:
  1325		case VMCI_TRANSPORT_PACKET_TYPE_NEGOTIATE2:
> 1326			struct sockaddr_vm_rcu *remote_addr;
  1327	
  1328			rcu_read_lock();
> 1329			remote_addr = rcu_dereference(vsk->remote_addr);
  1330			if (!remote_addr) {
  1331				skerr = EPROTO;
  1332				err = -EINVAL;
  1333				rcu_read_unlock();
  1334				goto destroy;
  1335			}
  1336	
  1337			if (pkt->u.size == 0
  1338			    || pkt->dg.src.context != remote_addr->addr.svm_cid
  1339			    || pkt->src_port != remote_addr->addr.svm_port
  1340			    || !vmci_handle_is_invalid(vmci_trans(vsk)->qp_handle)
  1341			    || vmci_trans(vsk)->qpair
  1342			    || vmci_trans(vsk)->produce_size != 0
  1343			    || vmci_trans(vsk)->consume_size != 0
  1344			    || vmci_trans(vsk)->detach_sub_id != VMCI_INVALID_ID) {
  1345				skerr = EPROTO;
  1346				err = -EINVAL;
  1347				rcu_read_unlock();
  1348				goto destroy;
  1349			}
  1350			rcu_read_unlock();
  1351	
  1352			err = vmci_transport_recv_connecting_client_negotiate(sk, pkt);
  1353			if (err) {
  1354				skerr = -err;
  1355				goto destroy;
  1356			}
  1357	
  1358			break;
  1359		case VMCI_TRANSPORT_PACKET_TYPE_INVALID:
  1360			err = vmci_transport_recv_connecting_client_invalid(sk, pkt);
  1361			if (err) {
  1362				skerr = -err;
  1363				goto destroy;
  1364			}
  1365	
  1366			break;
  1367		case VMCI_TRANSPORT_PACKET_TYPE_RST:
  1368			/* Older versions of the linux code (WS 6.5 / ESX 4.0) used to
  1369			 * continue processing here after they sent an INVALID packet.
  1370			 * This meant that we got a RST after the INVALID. We ignore a
  1371			 * RST after an INVALID. The common code doesn't send the RST
  1372			 * ... so we can hang if an old version of the common code
  1373			 * fails between getting a REQUEST and sending an OFFER back.
  1374			 * Not much we can do about it... except hope that it doesn't
  1375			 * happen.
  1376			 */
  1377			if (vsk->ignore_connecting_rst) {
  1378				vsk->ignore_connecting_rst = false;
  1379			} else {
  1380				skerr = ECONNRESET;
  1381				err = 0;
  1382				goto destroy;
  1383			}
  1384	
  1385			break;
  1386		default:
  1387			/* Close and cleanup the connection. */
  1388			skerr = EPROTO;
  1389			err = -EINVAL;
  1390			goto destroy;
  1391		}
  1392	
  1393		return 0;
  1394	
  1395	destroy:
  1396		vmci_transport_send_reset(sk, pkt);
  1397	
  1398		sk->sk_state = TCP_CLOSE;
  1399		sk->sk_err = skerr;
  1400		sk_error_report(sk);
  1401		return err;
  1402	}
  1403	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

  parent reply	other threads:[~2023-04-15  6:14 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-14  0:25 [PATCH RFC net-next v2 0/4] virtio/vsock: support datagrams Bobby Eshleman
2023-04-14  0:25 ` [PATCH RFC net-next v2 1/4] virtio/vsock: support dgram Bobby Eshleman
2023-04-19  9:29   ` Stefano Garzarella
2023-04-19  9:29     ` Stefano Garzarella
2023-04-14  0:25 ` [PATCH RFC net-next v2 2/4] virtio/vsock: add VIRTIO_VSOCK_F_DGRAM feature bit Bobby Eshleman
2023-04-14  8:47   ` Alvaro Karsz
2023-04-14  8:47     ` Alvaro Karsz
2023-04-14 10:28     ` Bobby Eshleman
2023-04-19  9:30   ` Stefano Garzarella
2023-04-19  9:30     ` Stefano Garzarella
2023-04-15  9:51     ` Bobby Eshleman
2023-04-14  0:25 ` [PATCH RFC net-next v2 3/4] vsock: Add lockless sendmsg() support Bobby Eshleman
2023-04-14  2:09   ` kernel test robot
2023-04-14  3:32   ` kernel test robot
2023-04-15  6:13   ` kernel test robot [this message]
2023-04-19  9:30   ` Stefano Garzarella
2023-04-19  9:30     ` Stefano Garzarella
2023-04-15 10:30     ` Bobby Eshleman
2023-04-28 10:29       ` Stefano Garzarella
2023-04-28 10:29         ` Stefano Garzarella
2023-04-15 17:29         ` Bobby Eshleman
2023-05-03 12:09           ` Stefano Garzarella
2023-05-03 12:09             ` Stefano Garzarella
2023-04-14  0:26 ` [PATCH RFC net-next v2 4/4] tests: add vsock dgram tests Bobby Eshleman
2023-04-14 11:18 ` [PATCH RFC net-next v2 0/4] virtio/vsock: support datagrams Bobby Eshleman
2023-04-19 10:00   ` Stefano Garzarella
2023-04-19 10:00     ` Stefano Garzarella
2023-04-15  7:13     ` Bobby Eshleman
2023-04-15  7:13       ` [virtio-dev] " Bobby Eshleman
2023-04-28 10:43       ` Stefano Garzarella
2023-04-28 10:43         ` Stefano Garzarella
2023-04-28 10:43         ` [virtio-dev] " Stefano Garzarella
2023-04-15 15:55         ` Bobby Eshleman
2023-04-15 15:55           ` [virtio-dev] " Bobby Eshleman
2023-05-03 12:13           ` Stefano Garzarella
2023-05-03 12:13             ` Stefano Garzarella
2023-05-03 12:13             ` [virtio-dev] " Stefano Garzarella
  -- strict thread matches above, loose matches on Subject: below --
2023-04-14  5:16 [PATCH RFC net-next v2 3/4] vsock: Add lockless sendmsg() support kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202304151306.Z5FbLtBt-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=bobby.eshleman@bytedance.com \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.