All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [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: Wed, 20 May 2020 20:58:30 +0800	[thread overview]
Message-ID: <202005202014.Kfpemcdx%lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 6759 bytes --]

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@intel.com>

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@sgi.com>
:::::: CC: Linus Torvalds <torvalds@woody.linux-foundation.org>

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 62096 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
To: Christoph Hellwig <hch@lst.de>
Cc: kbuild-all@lists.01.org, Johannes Weiner <hannes@cmpxchg.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linux Memory Management List <linux-mm@kvack.org>
Subject: [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: Wed, 20 May 2020 20:58:30 +0800	[thread overview]
Message-ID: <202005202014.Kfpemcdx%lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 6659 bytes --]

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@intel.com>

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@sgi.com>
:::::: CC: Linus Torvalds <torvalds@woody.linux-foundation.org>

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

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 62096 bytes --]

             reply	other threads:[~2020-05-20 12:58 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-20 12:58 kbuild test robot [this message]
2020-05-20 12:58 ` [hnaz-linux-mm:master 548/598] include/linux/highmem.h:302:20: error: passing argument 1 of 'flush_dcache_page' from incompatible pointer type kbuild test robot
2020-05-20 17:35 ` Christoph Hellwig
2020-05-20 17:35   ` Christoph Hellwig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202005202014.Kfpemcdx%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.