Re: [PATCH v3 1/2] virtio: stop using legacy struct vring in kernel

From: kbuild test robot
Date: Mon Apr 06 2020 - 16:55:05 EST


Hi "Michael,

I love your patch! Yet something to improve:

[auto build test ERROR on next-20200406]
[also build test ERROR on v5.6]
[cannot apply to vhost/linux-next linus/master linux/master v5.6 v5.6-rc7 v5.6-rc6]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url: https://github.com/0day-ci/linux/commits/Michael-S-Tsirkin/virtio-alignment-issues/20200407-025651
base: b2e2a818a01717ba15c74fd355f76822b81a95f6
config: nds32-defconfig (attached as .config)
compiler: nds32le-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.3.0 make.cross ARCH=nds32

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

In file included from include/linux/virtio.h:12,
from include/linux/virtio_config.h:7,
from include/uapi/linux/virtio_net.h:30,
from include/linux/virtio_net.h:6,
from net//packet/af_packet.c:82:
>> include/linux/vringh.h:42:15: error: field 'vring' has incomplete type
42 | struct vring vring;
| ^~~~~

vim +/vring +42 include/linux/vringh.h

f87d0fbb579818 Rusty Russell 2013-03-20 20
f87d0fbb579818 Rusty Russell 2013-03-20 21 /* virtio_ring with information needed for host access. */
f87d0fbb579818 Rusty Russell 2013-03-20 22 struct vringh {
b9f7ac8c72894c Michael S. Tsirkin 2014-12-12 23 /* Everything is little endian */
b9f7ac8c72894c Michael S. Tsirkin 2014-12-12 24 bool little_endian;
b9f7ac8c72894c Michael S. Tsirkin 2014-12-12 25
f87d0fbb579818 Rusty Russell 2013-03-20 26 /* Guest publishes used event idx (note: we always do). */
f87d0fbb579818 Rusty Russell 2013-03-20 27 bool event_indices;
f87d0fbb579818 Rusty Russell 2013-03-20 28
f87d0fbb579818 Rusty Russell 2013-03-20 29 /* Can we get away with weak barriers? */
f87d0fbb579818 Rusty Russell 2013-03-20 30 bool weak_barriers;
f87d0fbb579818 Rusty Russell 2013-03-20 31
f87d0fbb579818 Rusty Russell 2013-03-20 32 /* Last available index we saw (ie. where we're up to). */
f87d0fbb579818 Rusty Russell 2013-03-20 33 u16 last_avail_idx;
f87d0fbb579818 Rusty Russell 2013-03-20 34
f87d0fbb579818 Rusty Russell 2013-03-20 35 /* Last index we used. */
f87d0fbb579818 Rusty Russell 2013-03-20 36 u16 last_used_idx;
f87d0fbb579818 Rusty Russell 2013-03-20 37
f87d0fbb579818 Rusty Russell 2013-03-20 38 /* How many descriptors we've completed since last need_notify(). */
f87d0fbb579818 Rusty Russell 2013-03-20 39 u32 completed;
f87d0fbb579818 Rusty Russell 2013-03-20 40
f87d0fbb579818 Rusty Russell 2013-03-20 41 /* The vring (note: it may contain user pointers!) */
f87d0fbb579818 Rusty Russell 2013-03-20 @42 struct vring vring;
3beee86a4b9374 Sjur Brændeland 2013-03-20 43
9ad9c49cfe970b Jason Wang 2020-03-26 44 /* IOTLB for this vring */
9ad9c49cfe970b Jason Wang 2020-03-26 45 struct vhost_iotlb *iotlb;
9ad9c49cfe970b Jason Wang 2020-03-26 46
3beee86a4b9374 Sjur Brændeland 2013-03-20 47 /* The function to call to notify the guest about added buffers */
3beee86a4b9374 Sjur Brændeland 2013-03-20 48 void (*notify)(struct vringh *);
3beee86a4b9374 Sjur Brændeland 2013-03-20 49 };
3beee86a4b9374 Sjur Brændeland 2013-03-20 50

:::::: The code at line 42 was first introduced by commit
:::::: f87d0fbb579818fed3eeb0923cc253163ab93039 vringh: host-side implementation of virtio rings.

:::::: TO: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
:::::: CC: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip