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

Reply via email to