Re: [PATCH net-next 3/3] vhost: access vq metadata through kernel virtual address

From: kbuild test robot
Date: Fri Dec 14 2018 - 09:49:12 EST


Hi Jason,

I love your patch! Yet something to improve:

[auto build test ERROR on net-next/master]

url: https://github.com/0day-ci/linux/commits/Jason-Wang/vhost-accelerate-metadata-access-through-vmap/20181214-200417
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
GCC_VERSION=7.2.0 make.cross ARCH=mips

All errors (new ones prefixed by >>):

drivers//vhost/vhost.c: In function 'vhost_init_vmap':
>> drivers//vhost/vhost.c:648:3: error: implicit declaration of function 'release_pages'; did you mean 'release_task'? [-Werror=implicit-function-declaration]
release_pages(pages, npinned);
^~~~~~~~~~~~~
release_task
cc1: some warnings being treated as errors

vim +648 drivers//vhost/vhost.c

619
620 static int vhost_init_vmap(struct vhost_vmap *map, unsigned long uaddr,
621 size_t size, int write)
622 {
623 struct page **pages;
624 int npages = DIV_ROUND_UP(size, PAGE_SIZE);
625 int npinned;
626 void *vaddr;
627
628 pages = kmalloc_array(npages, sizeof(struct page *), GFP_KERNEL);
629 if (!pages)
630 return -ENOMEM;
631
632 npinned = get_user_pages_fast(uaddr, npages, write, pages);
633 if (npinned != npages)
634 goto err;
635
636 vaddr = vmap(pages, npages, VM_MAP, PAGE_KERNEL);
637 if (!vaddr)
638 goto err;
639
640 map->pages = pages;
641 map->addr = vaddr + (uaddr & (PAGE_SIZE - 1));
642 map->npages = npages;
643
644 return 0;
645
646 err:
647 if (npinned > 0)
> 648 release_pages(pages, npinned);
649 kfree(pages);
650 return -EFAULT;
651 }
652

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

Attachment: .config.gz
Description: application/gzip