lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [day] [month] [year] [list]
Date:   Wed, 8 Nov 2017 03:09:31 +0800
From:   kbuild test robot <fengguang.wu@...el.com>
To:     "Michael S. Tsirkin" <mst@...hat.com>
Cc:     kbuild-all@...org, kvm@...r.kernel.org,
        virtualization@...ts.linux-foundation.org, netdev@...r.kernel.org
Subject: [vhost:vhost 1/1] drivers/virtio/virtio_balloon.c:164:3: error:
 implicit declaration of function 'balloon_page_push'

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git vhost
head:   823b45b4f154384941d57e124ed726847e293b36
commit: 823b45b4f154384941d57e124ed726847e293b36 [1/1] virtio_balloon: fix deadlock on OOM
config: i386-randconfig-x001-201745 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        git checkout 823b45b4f154384941d57e124ed726847e293b36
        # save the attached .config to linux build tree
        make ARCH=i386 

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

   drivers/virtio/virtio_balloon.c: In function 'fill_balloon':
>> drivers/virtio/virtio_balloon.c:164:3: error: implicit declaration of function 'balloon_page_push' [-Werror=implicit-function-declaration]
      balloon_page_push(&pages, page);
      ^~~~~~~~~~~~~~~~~
>> drivers/virtio/virtio_balloon.c:174:17: error: implicit declaration of function 'balloon_page_pop' [-Werror=implicit-function-declaration]
     while ((page = balloon_page_pop(&pages))) {
                    ^~~~~~~~~~~~~~~~
>> drivers/virtio/virtio_balloon.c:174:15: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
     while ((page = balloon_page_pop(&pages))) {
                  ^
   cc1: some warnings being treated as errors

vim +/balloon_page_push +164 drivers/virtio/virtio_balloon.c

   143	
   144	static unsigned fill_balloon(struct virtio_balloon *vb, size_t num)
   145	{
   146		unsigned num_allocated_pages;
   147		unsigned num_pfns;
   148		struct page *page;
   149		LIST_HEAD(pages);
   150	
   151		for (num_pfns = 0; num_pfns < num;
   152		     num_pfns += VIRTIO_BALLOON_PAGES_PER_PAGE) {
   153			struct page *page = balloon_page_alloc();
   154	
   155			if (!page) {
   156				dev_info_ratelimited(&vb->vdev->dev,
   157						     "Out of puff! Can't get %u pages\n",
   158						     VIRTIO_BALLOON_PAGES_PER_PAGE);
   159				/* Sleep for at least 1/5 of a second before retry. */
   160				msleep(200);
   161				break;
   162			}
   163	
 > 164			balloon_page_push(&pages, page);
   165		}
   166	
   167		/* We can only do one array worth at a time. */
   168		num = min(num, ARRAY_SIZE(vb->pfns));
   169	
   170		mutex_lock(&vb->balloon_lock);
   171	
   172		vb->num_pfns = 0;
   173	
 > 174		while ((page = balloon_page_pop(&pages))) {
   175			balloon_page_enqueue(&vb->vb_dev_info, page);
   176	
   177			vb->num_pfns += VIRTIO_BALLOON_PAGES_PER_PAGE;
   178	
   179			set_page_pfns(vb, vb->pfns + vb->num_pfns, page);
   180			vb->num_pages += VIRTIO_BALLOON_PAGES_PER_PAGE;
   181			if (!virtio_has_feature(vb->vdev,
   182						VIRTIO_BALLOON_F_DEFLATE_ON_OOM))
   183				adjust_managed_page_count(page, -1);
   184		}
   185	
   186		num_allocated_pages = vb->num_pfns;
   187		/* Did we get any? */
   188		if (vb->num_pfns != 0)
   189			tell_host(vb, vb->inflate_vq);
   190		mutex_unlock(&vb->balloon_lock);
   191	
   192		return num_allocated_pages;
   193	}
   194	

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

Download attachment ".config.gz" of type "application/gzip" (33858 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ