Re: [PATCH 04/10] KVM: Introduce a new guest mapping API

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

 



Hi KarimAllah,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on tip/auto-latest]
[also build test ERROR on v4.16-rc2 next-20180222]
[cannot apply to kvm/linux-next]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/KarimAllah-Ahmed/KVM-X86-Handle-guest-memory-that-does-not-have-a-struct-page/20180223-064826
config: x86_64-randconfig-x012-201807 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All error/warnings (new ones prefixed by >>):

   In file included from include/linux/linkage.h:7:0,
                    from include/linux/preempt.h:10,
                    from include/linux/hardirq.h:5,
                    from include/linux/kvm_host.h:10,
                    from arch/x86/kvm/../../../virt/kvm/kvm_main.c:21:
>> arch/x86/kvm/../../../virt/kvm/kvm_main.c:1669:19: error: 'kvm_vcpu_gfn_to_kaddr' undeclared here (not in a function); did you mean 'kvm_vcpu_gfn_to_page'?
    EXPORT_SYMBOL_GPL(kvm_vcpu_gfn_to_kaddr);
                      ^
   include/linux/export.h:65:16: note: in definition of macro '___EXPORT_SYMBOL'
     extern typeof(sym) sym;      \
                   ^~~
>> arch/x86/kvm/../../../virt/kvm/kvm_main.c:1669:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
    EXPORT_SYMBOL_GPL(kvm_vcpu_gfn_to_kaddr);
    ^~~~~~~~~~~~~~~~~

vim +1669 arch/x86/kvm/../../../virt/kvm/kvm_main.c

  1634	
  1635	bool kvm_vcpu_map(struct kvm_vcpu *vcpu, gfn_t gfn, struct kvm_host_map *map)
  1636	{
  1637		kvm_pfn_t pfn;
  1638		void *kaddr = NULL;
  1639		struct page *page = NULL;
  1640	
  1641		if (map->kaddr && map->gfn == gfn)
  1642			/* If the mapping is valid and guest memory is already mapped */
  1643			return true;
  1644		else if (map->kaddr)
  1645			/* If the mapping is valid but trying to map a different guest pfn */
  1646			kvm_vcpu_unmap(map);
  1647	
  1648		pfn = kvm_vcpu_gfn_to_pfn(vcpu, gfn);
  1649		if (is_error_pfn(pfn))
  1650			return false;
  1651	
  1652		if (pfn_valid(pfn)) {
  1653			page = pfn_to_page(pfn);
  1654			kaddr = vmap(&page, 1, VM_MAP, PAGE_KERNEL);
  1655		} else {
  1656			kaddr = memremap(pfn_to_hpa(pfn), PAGE_SIZE, MEMREMAP_WB);
  1657		}
  1658	
  1659		if (!kaddr)
  1660			return false;
  1661	
  1662		map->page = page;
  1663		map->kaddr = kaddr;
  1664		map->pfn = pfn;
  1665		map->gfn = gfn;
  1666	
  1667		return true;
  1668	}
> 1669	EXPORT_SYMBOL_GPL(kvm_vcpu_gfn_to_kaddr);
  1670	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

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