tree:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 
staging-testing
head:   36c3c6ecedac0e96207e9454d77231b5b1857a3f
commit: 36c3c6ecedac0e96207e9454d77231b5b1857a3f [1122/1122] staging: add 
bcm2708 vchiq driver
config: arm-multi_v7_defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
        wget 
https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross
 -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 36c3c6ecedac0e96207e9454d77231b5b1857a3f
        # save the attached .config to linux build tree
        make.cross ARCH=arm 

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

   In file included from ./arch/arm/include/generated/asm/current.h:1:0,
                    from include/linux/wait.h:9,
                    from include/linux/mmzone.h:9,
                    from include/linux/gfp.h:5,
                    from include/linux/kmod.h:22,
                    from include/linux/module.h:13,
                    from 
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:36:
   drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c: In function 
'dump_phys_mem':
>> include/asm-generic/current.h:6:23: warning: passing argument 1 of 
>> 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
    #define get_current() (current_thread_info()->task)
                          ^
>> include/asm-generic/current.h:7:17: note: in expansion of macro 'get_current'
    #define current get_current()
                    ^~~~~~~~~~~
>> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:1476:22: note: 
>> in expansion of macro 'current'
     rc = get_user_pages(current,      /* task */
                         ^~~~~~~
   In file included from 
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:42:0:
   include/linux/mm.h:1293:6: note: expected 'long unsigned int' but argument 
is of type 'struct task_struct *'
    long get_user_pages(unsigned long start, unsigned long nr_pages,
         ^~~~~~~~~~~~~~
   In file included from ./arch/arm/include/generated/asm/current.h:1:0,
                    from include/linux/wait.h:9,
                    from include/linux/mmzone.h:9,
                    from include/linux/gfp.h:5,
                    from include/linux/kmod.h:22,
                    from include/linux/module.h:13,
                    from 
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:36:
   include/asm-generic/current.h:6:23: warning: passing argument 2 of 
'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
    #define get_current() (current_thread_info()->task)
                          ^
>> include/asm-generic/current.h:7:17: note: in expansion of macro 'get_current'
    #define current get_current()
                    ^~~~~~~~~~~
   drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:1477:3: note: 
in expansion of macro 'current'
      current->mm,              /* mm */
      ^~~~~~~
   In file included from 
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:42:0:
   include/linux/mm.h:1293:6: note: expected 'long unsigned int' but argument 
is of type 'struct mm_struct *'
    long get_user_pages(unsigned long start, unsigned long nr_pages,
         ^~~~~~~~~~~~~~
>> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:1476:7: error: 
>> too many arguments to function 'get_user_pages'
     rc = get_user_pages(current,      /* task */
          ^~~~~~~~~~~~~~
   In file included from 
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:42:0:
   include/linux/mm.h:1293:6: note: declared here
    long get_user_pages(unsigned long start, unsigned long nr_pages,
         ^~~~~~~~~~~~~~
>> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:1516:3: error: 
>> implicit declaration of function 'page_cache_release' 
>> [-Werror=implicit-function-declaration]
      page_cache_release(pages[page_idx]);
      ^~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors
--
   drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c: In 
function 'vchiq_platform_init':
>> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c:169:34: 
>> error: 'RPI_FIRMWARE_VCHIQ_INIT' undeclared (first use in this function)
     err = rpi_firmware_property(fw, RPI_FIRMWARE_VCHIQ_INIT,
                                     ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c:169:34: 
note: each undeclared identifier is reported only once for each function it 
appears in
   drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c: In 
function 'create_pagelist':
>> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c:423:33: 
>> warning: passing argument 1 of 'get_user_pages' makes integer from pointer 
>> without a cast [-Wint-conversion]
      actual_pages = get_user_pages(task, task->mm,
                                    ^~~~
   In file included from include/linux/pagemap.h:7:0,
                    from 
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c:38:
   include/linux/mm.h:1293:6: note: expected 'long unsigned int' but argument 
is of type 'struct task_struct *'
    long get_user_pages(unsigned long start, unsigned long nr_pages,
         ^~~~~~~~~~~~~~
   drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c:423:39: 
warning: passing argument 2 of 'get_user_pages' makes integer from pointer 
without a cast [-Wint-conversion]
      actual_pages = get_user_pages(task, task->mm,
                                          ^~~~
   In file included from include/linux/pagemap.h:7:0,
                    from 
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c:38:
   include/linux/mm.h:1293:6: note: expected 'long unsigned int' but argument 
is of type 'struct mm_struct *'
    long get_user_pages(unsigned long start, unsigned long nr_pages,
         ^~~~~~~~~~~~~~
>> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c:426:8: 
>> warning: passing argument 5 of 'get_user_pages' makes pointer from integer 
>> without a cast [-Wint-conversion]
           (type == PAGELIST_READ) /*Write */ ,
           ^
   In file included from include/linux/pagemap.h:7:0,
                    from 
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c:38:
   include/linux/mm.h:1293:6: note: expected 'struct page **' but argument is 
of type 'int'
    long get_user_pages(unsigned long start, unsigned long nr_pages,
         ^~~~~~~~~~~~~~
>> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c:423:18: 
>> error: too many arguments to function 'get_user_pages'
      actual_pages = get_user_pages(task, task->mm,
                     ^~~~~~~~~~~~~~
   In file included from include/linux/pagemap.h:7:0,
                    from 
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c:38:
   include/linux/mm.h:1293:6: note: declared here
    long get_user_pages(unsigned long start, unsigned long nr_pages,
         ^~~~~~~~~~~~~~
>> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c:442:5: 
>> error: implicit declaration of function 'page_cache_release' 
>> [-Werror=implicit-function-declaration]
        page_cache_release(pages[actual_pages]);
        ^~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors
--
   In file included from ./arch/arm/include/generated/asm/current.h:1:0,
                    from include/linux/wait.h:9,
                    from include/linux/mmzone.h:9,
                    from include/linux/gfp.h:5,
                    from include/linux/kmod.h:22,
                    from include/linux/module.h:13,
                    from 
drivers/staging/vc04_services//interface/vchiq_arm/vchiq_arm.c:36:
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_arm.c: In function 
'dump_phys_mem':
>> include/asm-generic/current.h:6:23: warning: passing argument 1 of 
>> 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
    #define get_current() (current_thread_info()->task)
                          ^
>> include/asm-generic/current.h:7:17: note: in expansion of macro 'get_current'
    #define current get_current()
                    ^~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_arm.c:1476:22: 
note: in expansion of macro 'current'
     rc = get_user_pages(current,      /* task */
                         ^~~~~~~
   In file included from 
drivers/staging/vc04_services//interface/vchiq_arm/vchiq_arm.c:42:0:
   include/linux/mm.h:1293:6: note: expected 'long unsigned int' but argument 
is of type 'struct task_struct *'
    long get_user_pages(unsigned long start, unsigned long nr_pages,
         ^~~~~~~~~~~~~~
   In file included from ./arch/arm/include/generated/asm/current.h:1:0,
                    from include/linux/wait.h:9,
                    from include/linux/mmzone.h:9,
                    from include/linux/gfp.h:5,
                    from include/linux/kmod.h:22,
                    from include/linux/module.h:13,
                    from 
drivers/staging/vc04_services//interface/vchiq_arm/vchiq_arm.c:36:
   include/asm-generic/current.h:6:23: warning: passing argument 2 of 
'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
    #define get_current() (current_thread_info()->task)
                          ^
>> include/asm-generic/current.h:7:17: note: in expansion of macro 'get_current'
    #define current get_current()
                    ^~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_arm.c:1477:3: note: 
in expansion of macro 'current'
      current->mm,              /* mm */
      ^~~~~~~
   In file included from 
drivers/staging/vc04_services//interface/vchiq_arm/vchiq_arm.c:42:0:
   include/linux/mm.h:1293:6: note: expected 'long unsigned int' but argument 
is of type 'struct mm_struct *'
    long get_user_pages(unsigned long start, unsigned long nr_pages,
         ^~~~~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_arm.c:1476:7: 
error: too many arguments to function 'get_user_pages'
     rc = get_user_pages(current,      /* task */
          ^~~~~~~~~~~~~~
   In file included from 
drivers/staging/vc04_services//interface/vchiq_arm/vchiq_arm.c:42:0:
   include/linux/mm.h:1293:6: note: declared here
    long get_user_pages(unsigned long start, unsigned long nr_pages,
         ^~~~~~~~~~~~~~
   drivers/staging/vc04_services//interface/vchiq_arm/vchiq_arm.c:1516:3: 
error: implicit declaration of function 'page_cache_release' 
[-Werror=implicit-function-declaration]
      page_cache_release(pages[page_idx]);
      ^~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/get_user_pages +1476 
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c

  1470                          "Unable to allocation memory for %d pages\n",
  1471                          num_pages);
  1472                  return;
  1473          }
  1474  
  1475          down_read(&current->mm->mmap_sem);
> 1476          rc = get_user_pages(current,      /* task */
> 1477                  current->mm,              /* mm */
  1478                  (unsigned long)virt_addr, /* start */
  1479                  num_pages,                /* len */
  1480                  0,                        /* write */
  1481                  0,                        /* force */
  1482                  pages,                    /* pages (array of page 
pointers) */
  1483                  NULL);                    /* vmas */
  1484          up_read(&current->mm->mmap_sem);
  1485  
  1486          prev_idx = -1;
  1487          page = NULL;
  1488  
  1489          while (offset < end_offset) {
  1490  
  1491                  int page_offset = offset % PAGE_SIZE;
  1492                  page_idx = offset / PAGE_SIZE;
  1493  
  1494                  if (page_idx != prev_idx) {
  1495  
  1496                          if (page != NULL)
  1497                                  kunmap(page);
  1498                          page = pages[page_idx];
  1499                          kmapped_virt_ptr = kmap(page);
  1500  
  1501                          prev_idx = page_idx;
  1502                  }
  1503  
  1504                  if (vchiq_arm_log_level >= VCHIQ_LOG_TRACE)
  1505                          vchiq_log_dump_mem("ph",
  1506                                  (uint32_t)(unsigned 
long)&kmapped_virt_ptr[
  1507                                          page_offset],
  1508                                  &kmapped_virt_ptr[page_offset], 16);
  1509  
  1510                  offset += 16;
  1511          }
  1512          if (page != NULL)
  1513                  kunmap(page);
  1514  
  1515          for (page_idx = 0; page_idx < num_pages; page_idx++)
> 1516                  page_cache_release(pages[page_idx]);
  1517  
  1518          kfree(pages);
  1519  }

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

Attachment: .config.gz
Description: application/gzip

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to