Re: [PATCH V6 3/8] vringh: IOTLB support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jason,

I love your patch! Yet something to improve:

[auto build test ERROR on vhost/linux-next]
[also build test ERROR on linux/master linus/master v5.6-rc6 next-20200317]
[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/Jason-Wang/vDPA-support/20200318-191435
base:   https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git linux-next
config: h8300-randconfig-a001-20200318 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.2.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.2.0 make.cross ARCH=h8300 

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

All errors (new ones prefixed by >>):

   h8300-linux-ld: drivers/vhost/vringh.o: in function `iotlb_translate':
>> drivers/vhost/vringh.c:1079: undefined reference to `vhost_iotlb_itree_first'

vim +1079 drivers/vhost/vringh.c

  1061	
  1062	static int iotlb_translate(const struct vringh *vrh,
  1063				   u64 addr, u64 len, struct bio_vec iov[],
  1064				   int iov_size, u32 perm)
  1065	{
  1066		struct vhost_iotlb_map *map;
  1067		struct vhost_iotlb *iotlb = vrh->iotlb;
  1068		int ret = 0;
  1069		u64 s = 0;
  1070	
  1071		while (len > s) {
  1072			u64 size, pa, pfn;
  1073	
  1074			if (unlikely(ret >= iov_size)) {
  1075				ret = -ENOBUFS;
  1076				break;
  1077			}
  1078	
> 1079			map = vhost_iotlb_itree_first(iotlb, addr,
  1080						      addr + len - 1);
  1081			if (!map || map->start > addr) {
  1082				ret = -EINVAL;
  1083				break;
  1084			} else if (!(map->perm & perm)) {
  1085				ret = -EPERM;
  1086				break;
  1087			}
  1088	
  1089			size = map->size - addr + map->start;
  1090			pa = map->addr + addr - map->start;
  1091			pfn = pa >> PAGE_SHIFT;
  1092			iov[ret].bv_page = pfn_to_page(pfn);
  1093			iov[ret].bv_len = min(len - s, size);
  1094			iov[ret].bv_offset = pa & (PAGE_SIZE - 1);
  1095			s += size;
  1096			addr += size;
  1097			++ret;
  1098		}
  1099	
  1100		return ret;
  1101	}
  1102	

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

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux