[drm:drm-legacy-cleanup 13/24] drivers/gpu/drm/drm_vm.c:483:10: error: implicit declaration of function 'pte_wrprotect'

kbuild test robot lkp at intel.com
Tue Apr 23 06:25:50 UTC 2019


tree:   git://people.freedesktop.org/~airlied/linux.git drm-legacy-cleanup
head:   7b7678e3949f22d2442179f27d219b4b09ef1730
commit: 739d8489bcb277a1a27e56d0ef529f41c46425b4 [13/24] drm/nouveau: add kconfig option to turn off nouveau legacy contexts. (v2)
config: c6x-allyesconfig (attached as .config)
compiler: c6x-elf-gcc (GCC) 8.1.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 739d8489bcb277a1a27e56d0ef529f41c46425b4
        # save the attached .config to linux build tree
        GCC_VERSION=8.1.0 make.cross ARCH=c6x 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp at intel.com>


All errors (new ones prefixed by >>):

   In file included from arch/c6x/include/asm/page.h:10,
                    from arch/c6x/include/asm/thread_info.h:18,
                    from include/linux/thread_info.h:38,
                    from include/asm-generic/current.h:5,
                    from ./arch/c6x/include/generated/asm/current.h:1,
                    from include/linux/mutex.h:14,
                    from include/linux/kernfs.h:13,
                    from include/linux/sysfs.h:16,
                    from include/linux/kobject.h:20,
                    from include/linux/cdev.h:5,
                    from include/drm/drmP.h:36,
                    from drivers/gpu/drm/drm_vm.c:36:
   drivers/gpu/drm/drm_vm.c: In function 'drm_mmap_dma':
>> drivers/gpu/drm/drm_vm.c:483:10: error: implicit declaration of function 'pte_wrprotect' [-Werror=implicit-function-declaration]
            (pte_wrprotect
             ^~~~~~~~~~~~~
   include/asm-generic/page.h:59:36: note: in definition of macro '__pgprot'
    #define __pgprot(x) ((pgprot_t) { (x) } )
                                       ^
   drivers/gpu/drm/drm_vm.c:482:16: note: in expansion of macro 'pte_val'
          __pgprot(pte_val
                   ^~~~~~~
>> include/asm-generic/page.h:51:24: error: request for member 'pte' in something not a structure or union
    #define pte_val(x) ((x).pte)
                           ^
   include/asm-generic/page.h:59:36: note: in definition of macro '__pgprot'
    #define __pgprot(x) ((pgprot_t) { (x) } )
                                       ^
   drivers/gpu/drm/drm_vm.c:482:16: note: in expansion of macro 'pte_val'
          __pgprot(pte_val
                   ^~~~~~~
   drivers/gpu/drm/drm_vm.c: In function 'drm_mmap_locked':
>> include/asm-generic/page.h:51:24: error: request for member 'pte' in something not a structure or union
    #define pte_val(x) ((x).pte)
                           ^
   include/asm-generic/page.h:59:36: note: in definition of macro '__pgprot'
    #define __pgprot(x) ((pgprot_t) { (x) } )
                                       ^
   drivers/gpu/drm/drm_vm.c:566:16: note: in expansion of macro 'pte_val'
          __pgprot(pte_val
                   ^~~~~~~
   cc1: some warnings being treated as errors
--
   In file included from arch/c6x/include/asm/page.h:10,
                    from arch/c6x/include/asm/thread_info.h:18,
                    from include/linux/thread_info.h:38,
                    from include/asm-generic/current.h:5,
                    from ./arch/c6x/include/generated/asm/current.h:1,
                    from include/linux/mutex.h:14,
                    from include/linux/kernfs.h:13,
                    from include/linux/sysfs.h:16,
                    from include/linux/kobject.h:20,
                    from include/linux/cdev.h:5,
                    from include/drm/drmP.h:36,
                    from drivers/gpu//drm/drm_vm.c:36:
   drivers/gpu//drm/drm_vm.c: In function 'drm_mmap_dma':
   drivers/gpu//drm/drm_vm.c:483:10: error: implicit declaration of function 'pte_wrprotect' [-Werror=implicit-function-declaration]
            (pte_wrprotect
             ^~~~~~~~~~~~~
   include/asm-generic/page.h:59:36: note: in definition of macro '__pgprot'
    #define __pgprot(x) ((pgprot_t) { (x) } )
                                       ^
   drivers/gpu//drm/drm_vm.c:482:16: note: in expansion of macro 'pte_val'
          __pgprot(pte_val
                   ^~~~~~~
>> include/asm-generic/page.h:51:24: error: request for member 'pte' in something not a structure or union
    #define pte_val(x) ((x).pte)
                           ^
   include/asm-generic/page.h:59:36: note: in definition of macro '__pgprot'
    #define __pgprot(x) ((pgprot_t) { (x) } )
                                       ^
   drivers/gpu//drm/drm_vm.c:482:16: note: in expansion of macro 'pte_val'
          __pgprot(pte_val
                   ^~~~~~~
   drivers/gpu//drm/drm_vm.c: In function 'drm_mmap_locked':
>> include/asm-generic/page.h:51:24: error: request for member 'pte' in something not a structure or union
    #define pte_val(x) ((x).pte)
                           ^
   include/asm-generic/page.h:59:36: note: in definition of macro '__pgprot'
    #define __pgprot(x) ((pgprot_t) { (x) } )
                                       ^
   drivers/gpu//drm/drm_vm.c:566:16: note: in expansion of macro 'pte_val'
          __pgprot(pte_val
                   ^~~~~~~
   cc1: some warnings being treated as errors

vim +/pte_wrprotect +483 drivers/gpu/drm/drm_vm.c

^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  444  
^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  445  /**
^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  446   * mmap DMA memory.
^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  447   *
6c340eac drivers/char/drm/drm_vm.c Eric Anholt           2007-08-25  448   * \param file_priv DRM file private.
^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  449   * \param vma virtual memory area.
^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  450   * \return zero on success or a negative number on failure.
^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  451   *
^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  452   * Sets the virtual memory area operations structure to vm_dma_ops, the file
^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  453   * pointer, and calls vm_open().
^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  454   */
c94f7029 drivers/char/drm/drm_vm.c Dave Airlie           2005-07-07  455  static int drm_mmap_dma(struct file *filp, struct vm_area_struct *vma)
^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  456  {
84b1fd10 drivers/char/drm/drm_vm.c Dave Airlie           2007-07-11  457  	struct drm_file *priv = filp->private_data;
84b1fd10 drivers/char/drm/drm_vm.c Dave Airlie           2007-07-11  458  	struct drm_device *dev;
cdd55a29 drivers/char/drm/drm_vm.c Dave Airlie           2007-07-11  459  	struct drm_device_dma *dma;
^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  460  	unsigned long length = vma->vm_end - vma->vm_start;
^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  461  
2c14f28b drivers/char/drm/drm_vm.c Dave Airlie           2008-04-21  462  	dev = priv->minor->dev;
^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  463  	dma = dev->dma;
1545085a drivers/char/drm/drm_vm.c Thomas Hellstrom      2007-02-08  464  	DRM_DEBUG("start = 0x%lx, end = 0x%lx, page offset = 0x%lx\n",
1545085a drivers/char/drm/drm_vm.c Thomas Hellstrom      2007-02-08  465  		  vma->vm_start, vma->vm_end, vma->vm_pgoff);
^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  466  
^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  467  	/* Length must match exact page count */
^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  468  	if (!dma || (length >> PAGE_SHIFT) != dma->page_count) {
^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  469  		return -EINVAL;
^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  470  	}
^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  471  
3417f33e drivers/char/drm/drm_vm.c George Sapountzis     2006-10-24  472  	if (!capable(CAP_SYS_ADMIN) &&
3417f33e drivers/char/drm/drm_vm.c George Sapountzis     2006-10-24  473  	    (dma->flags & _DRM_DMA_USE_PCI_RO)) {
3417f33e drivers/char/drm/drm_vm.c George Sapountzis     2006-10-24  474  		vma->vm_flags &= ~(VM_WRITE | VM_MAYWRITE);
3417f33e drivers/char/drm/drm_vm.c George Sapountzis     2006-10-24  475  #if defined(__i386__) || defined(__x86_64__)
3417f33e drivers/char/drm/drm_vm.c George Sapountzis     2006-10-24  476  		pgprot_val(vma->vm_page_prot) &= ~_PAGE_RW;
3417f33e drivers/char/drm/drm_vm.c George Sapountzis     2006-10-24  477  #else
3417f33e drivers/char/drm/drm_vm.c George Sapountzis     2006-10-24  478  		/* Ye gads this is ugly.  With more thought
3417f33e drivers/char/drm/drm_vm.c George Sapountzis     2006-10-24  479  		   we could move this up higher and use
3417f33e drivers/char/drm/drm_vm.c George Sapountzis     2006-10-24  480  		   `protection_map' instead.  */
3417f33e drivers/char/drm/drm_vm.c George Sapountzis     2006-10-24  481  		vma->vm_page_prot =
3417f33e drivers/char/drm/drm_vm.c George Sapountzis     2006-10-24  482  		    __pgprot(pte_val
3417f33e drivers/char/drm/drm_vm.c George Sapountzis     2006-10-24 @483  			     (pte_wrprotect
3417f33e drivers/char/drm/drm_vm.c George Sapountzis     2006-10-24  484  			      (__pte(pgprot_val(vma->vm_page_prot)))));
3417f33e drivers/char/drm/drm_vm.c George Sapountzis     2006-10-24  485  #endif
3417f33e drivers/char/drm/drm_vm.c George Sapountzis     2006-10-24  486  	}
3417f33e drivers/char/drm/drm_vm.c George Sapountzis     2006-10-24  487  
^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  488  	vma->vm_ops = &drm_vm_dma_ops;
^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  489  
314e51b9 drivers/gpu/drm/drm_vm.c  Konstantin Khlebnikov 2012-10-08  490  	vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP;
^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  491  
b06d66be drivers/gpu/drm/drm_vm.c  Rob Clark             2012-05-01  492  	drm_vm_open_locked(dev, vma);
^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  493  	return 0;
^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  494  }
^1da177e drivers/char/drm/drm_vm.c Linus Torvalds        2005-04-16  495  

:::::: The code at line 483 was first introduced by commit
:::::: 3417f33e762bf7d4277031a655e3ad07e73ce0be drm: add flag for mapping PCI DMA buffers read-only.

:::::: TO: George Sapountzis <gsap7 at yahoo.gr>
:::::: CC: airlied <airlied at linux.ie>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 47279 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20190423/4068755a/attachment-0001.gz>


More information about the dri-devel mailing list