[hnaz-linux-mm:master 548/598] include/linux/highmem.h:302:20: error: passing argument 1 of 'flush_dcache_page' from incompatible pointer type

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://github.com/hnaz/linux-mm master
head:   4de4e4acf3af9fd196651696c657fc870168aed7
commit: 49588d0abed53aad206bd1c969a9d3205c1b3bd0 [548/598] asm-generic: don't include <linux/mm.h> in cacheflush.h
config: s390-allyesconfig (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.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 49588d0abed53aad206bd1c969a9d3205c1b3bd0
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=s390 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>, old ones prefixed by <<):

In file included from ./arch/s390/include/generated/asm/cacheflush.h:1,
from drivers/media/platform/omap3isp/ispvideo.c:13:
include/asm-generic/cacheflush.h:18:42: warning: 'struct mm_struct' declared inside parameter list will not be visible outside of this definition or declaration
18 | static inline void flush_cache_mm(struct mm_struct *mm)
|                                          ^~~~~~~~~
include/asm-generic/cacheflush.h:24:46: warning: 'struct mm_struct' declared inside parameter list will not be visible outside of this definition or declaration
24 | static inline void flush_cache_dup_mm(struct mm_struct *mm)
|                                              ^~~~~~~~~
include/asm-generic/cacheflush.h:30:45: warning: 'struct vm_area_struct' declared inside parameter list will not be visible outside of this definition or declaration
30 | static inline void flush_cache_range(struct vm_area_struct *vma,
|                                             ^~~~~~~~~~~~~~
include/asm-generic/cacheflush.h:38:44: warning: 'struct vm_area_struct' declared inside parameter list will not be visible outside of this definition or declaration
38 | static inline void flush_cache_page(struct vm_area_struct *vma,
|                                            ^~~~~~~~~~~~~~
include/asm-generic/cacheflush.h:46:45: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
46 | static inline void flush_dcache_page(struct page *page)
|                                             ^~~~
include/asm-generic/cacheflush.h:52:50: warning: 'struct address_space' declared inside parameter list will not be visible outside of this definition or declaration
52 | static inline void flush_dcache_mmap_lock(struct address_space *mapping)
|                                                  ^~~~~~~~~~~~~
include/asm-generic/cacheflush.h:58:52: warning: 'struct address_space' declared inside parameter list will not be visible outside of this definition or declaration
58 | static inline void flush_dcache_mmap_unlock(struct address_space *mapping)
|                                                    ^~~~~~~~~~~~~
include/asm-generic/cacheflush.h:71:17: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
71 |          struct page *page)
|                 ^~~~
include/asm-generic/cacheflush.h:70:45: warning: 'struct vm_area_struct' declared inside parameter list will not be visible outside of this definition or declaration
70 | static inline void flush_icache_page(struct vm_area_struct *vma,
|                                             ^~~~~~~~~~~~~~
include/asm-generic/cacheflush.h:78:16: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
78 |         struct page *page,
|                ^~~~
include/asm-generic/cacheflush.h:77:51: warning: 'struct vm_area_struct' declared inside parameter list will not be visible outside of this definition or declaration
77 | static inline void flush_icache_user_range(struct vm_area_struct *vma,
|                                                   ^~~~~~~~~~~~~~
In file included from include/linux/pagemap.h:11,
from drivers/media/platform/omap3isp/ispvideo.c:17:
include/linux/highmem.h: In function 'zero_user_segments':
>> include/linux/highmem.h:302:20: error: passing argument 1 of 'flush_dcache_page' from incompatible pointer type [-Werror=incompatible-pointer-types]
302 |  flush_dcache_page(page);
|                    ^~~~
|                    |
|                    struct page *
In file included from ./arch/s390/include/generated/asm/cacheflush.h:1,
from drivers/media/platform/omap3isp/ispvideo.c:13:
include/asm-generic/cacheflush.h:46:51: note: expected 'struct page *' but argument is of type 'struct page *'
46 | static inline void flush_dcache_page(struct page *page)
|                                      ~~~~~~~~~~~~~^~~~
cc1: some warnings being treated as errors

vim +/flush_dcache_page +302 include/linux/highmem.h

^1da177e4c3f415 Linus Torvalds    2005-04-16  286  
eebd2aa355692af Christoph Lameter 2008-02-04  287  static inline void zero_user_segments(struct page *page,
eebd2aa355692af Christoph Lameter 2008-02-04  288  	unsigned start1, unsigned end1,
eebd2aa355692af Christoph Lameter 2008-02-04  289  	unsigned start2, unsigned end2)
eebd2aa355692af Christoph Lameter 2008-02-04  290  {
1ec9c5ddc17aa39 Cong Wang         2011-11-25  291  	void *kaddr = kmap_atomic(page);
eebd2aa355692af Christoph Lameter 2008-02-04  292  
eebd2aa355692af Christoph Lameter 2008-02-04  293  	BUG_ON(end1 > PAGE_SIZE || end2 > PAGE_SIZE);
eebd2aa355692af Christoph Lameter 2008-02-04  294  
eebd2aa355692af Christoph Lameter 2008-02-04  295  	if (end1 > start1)
eebd2aa355692af Christoph Lameter 2008-02-04  296  		memset(kaddr + start1, 0, end1 - start1);
eebd2aa355692af Christoph Lameter 2008-02-04  297  
eebd2aa355692af Christoph Lameter 2008-02-04  298  	if (end2 > start2)
eebd2aa355692af Christoph Lameter 2008-02-04  299  		memset(kaddr + start2, 0, end2 - start2);
eebd2aa355692af Christoph Lameter 2008-02-04  300  
1ec9c5ddc17aa39 Cong Wang         2011-11-25  301  	kunmap_atomic(kaddr);
eebd2aa355692af Christoph Lameter 2008-02-04 @302  	flush_dcache_page(page);
eebd2aa355692af Christoph Lameter 2008-02-04  303  }
eebd2aa355692af Christoph Lameter 2008-02-04  304  

:::::: The code at line 302 was first introduced by commit
:::::: eebd2aa355692afaf9906f62118620f1a1c19dbb Pagecache zeroing: zero_user_segment, zero_user_segments and zero_user

:::::: TO: Christoph Lameter <clameter@xxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux