Re: [PATCH 04/10] KVM: Introduce a new guest mapping API
From: kbuild test robot
Date: Thu Feb 22 2018 - 20:38:41 EST
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: mips-malta_kvm_defconfig (attached as .config)
compiler: mipsel-linux-gnu-gcc (Debian 7.2.0-11) 7.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
make.cross ARCH=mips
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/mips/kvm/../../../virt/kvm/kvm_main.c:21:
>> arch/mips/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/mips/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/mips/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