tree:
git://git.infradead.org/users/hch/block.git bvec-kmap
head: dcf9fd7b54aa00cdd89251aebaa3cc713f035e26
commit: 32df1ea7b631ec2e37b4a3917829fb3c204cea9c [3/46] bvec: add memcpy_{from,to}_bvec
and memzero_bvec helper
config: mips-rb532_defconfig (attached as .config)
compiler: mipsel-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
git remote add hch-block
git://git.infradead.org/users/hch/block.git
git fetch --no-tags hch-block bvec-kmap
git checkout 32df1ea7b631ec2e37b4a3917829fb3c204cea9c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
In file included from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from arch/mips/kernel/setup.c:20:
include/linux/bvec.h: In function 'bvec_kmap_local':
include/linux/bvec.h:189:9: error: implicit declaration of function
'kmap_local_page'; did you mean 'drain_local_pages'?
[-Werror=implicit-function-declaration]
189 | return kmap_local_page(bvec->bv_page) + bvec->bv_offset;
| ^~~~~~~~~~~~~~~
| drain_local_pages
include/linux/bvec.h:189:40: warning: returning 'unsigned int' from a function
with return type 'void *' makes pointer from integer without a cast
[-Wint-conversion]
189 | return kmap_local_page(bvec->bv_page) + bvec->bv_offset;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
include/linux/bvec.h: In function 'memcpy_from_bvec':
> include/linux/bvec.h:194:2: error: implicit declaration of
function 'memcpy_from_page'; did you mean 'memcpy_from_bvec'?
[-Werror=implicit-function-declaration]
194 | memcpy_from_page(to,
bvec->bv_page, bvec->bv_offset, bvec->bv_len);
| ^~~~~~~~~~~~~~~~
| memcpy_from_bvec
include/linux/bvec.h: In function 'memcpy_to_bvec':
> include/linux/bvec.h:199:2: error: implicit declaration of
function 'memcpy_to_page'; did you mean 'memcpy_to_bvec'?
[-Werror=implicit-function-declaration]
199 | memcpy_to_page(bvec->bv_page,
bvec->bv_offset, from, bvec->bv_len);
| ^~~~~~~~~~~~~~
| memcpy_to_bvec
include/linux/bvec.h: In function 'memzero_bvec':
> include/linux/bvec.h:204:2: error: implicit declaration of
function 'memzero_page'; did you mean 'memzero_bvec'?
[-Werror=implicit-function-declaration]
204 | memzero_page(bvec->bv_page,
bvec->bv_offset, bvec->bv_len);
| ^~~~~~~~~~~~
| memzero_bvec
In file included from include/linux/highmem.h:14,
from arch/mips/kernel/setup.c:20:
include/linux/highmem-internal.h: At top level:
include/linux/highmem-internal.h:158:21: error: conflicting types for
'kmap_local_page'
158 | static inline void *kmap_local_page(struct page *page)
| ^~~~~~~~~~~~~~~
In file included from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from arch/mips/kernel/setup.c:20:
include/linux/bvec.h:189:9: note: previous implicit declaration of
'kmap_local_page' was here
189 | return kmap_local_page(bvec->bv_page) + bvec->bv_offset;
| ^~~~~~~~~~~~~~~
In file included from arch/mips/kernel/setup.c:20:
> include/linux/highmem.h:315:20: warning: conflicting types for
'memcpy_from_page'
315 | static inline void memcpy_from_page(char *to,
struct page *page,
| ^~~~~~~~~~~~~~~~
> include/linux/highmem.h:315:20: error: static declaration of
'memcpy_from_page' follows non-static declaration
In file included from
include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from arch/mips/kernel/setup.c:20:
include/linux/bvec.h:194:2: note: previous implicit declaration of
'memcpy_from_page' was here
194 | memcpy_from_page(to, bvec->bv_page, bvec->bv_offset, bvec->bv_len);
| ^~~~~~~~~~~~~~~~
In file included from arch/mips/kernel/setup.c:20:
> include/linux/highmem.h:325:20: warning: conflicting types for
'memcpy_to_page'
325 | static inline void memcpy_to_page(struct page
*page, size_t offset,
| ^~~~~~~~~~~~~~
> include/linux/highmem.h:325:20: error: static declaration of
'memcpy_to_page' follows non-static declaration
In file included from
include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from arch/mips/kernel/setup.c:20:
include/linux/bvec.h:199:2: note: previous implicit declaration of
'memcpy_to_page' was here
199 | memcpy_to_page(bvec->bv_page, bvec->bv_offset, from, bvec->bv_len);
| ^~~~~~~~~~~~~~
In file included from arch/mips/kernel/setup.c:20:
> include/linux/highmem.h:335:20: warning: conflicting types for
'memzero_page'
335 | static inline void memzero_page(struct page *page,
size_t offset, size_t len)
| ^~~~~~~~~~~~
> include/linux/highmem.h:335:20: error: static declaration of
'memzero_page' follows non-static declaration
In file included from
include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from arch/mips/kernel/setup.c:20:
include/linux/bvec.h:204:2: note: previous implicit declaration of
'memzero_page' was here
204 | memzero_page(bvec->bv_page, bvec->bv_offset, bvec->bv_len);
| ^~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from include/linux/pagemap.h:11,
from arch/mips/mm/init.c:21:
include/linux/bvec.h: In function 'bvec_kmap_local':
include/linux/bvec.h:189:9: error: implicit declaration of function
'kmap_local_page'; did you mean 'drain_local_pages'?
[-Werror=implicit-function-declaration]
189 | return kmap_local_page(bvec->bv_page) + bvec->bv_offset;
| ^~~~~~~~~~~~~~~
| drain_local_pages
include/linux/bvec.h:189:40: warning: returning 'unsigned int' from a function
with return type 'void *' makes pointer from integer without a cast
[-Wint-conversion]
189 | return kmap_local_page(bvec->bv_page) + bvec->bv_offset;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
include/linux/bvec.h: In function 'memcpy_from_bvec':
> include/linux/bvec.h:194:2: error: implicit declaration of
function 'memcpy_from_page'; did you mean 'memcpy_from_bvec'?
[-Werror=implicit-function-declaration]
194 | memcpy_from_page(to,
bvec->bv_page, bvec->bv_offset, bvec->bv_len);
| ^~~~~~~~~~~~~~~~
| memcpy_from_bvec
include/linux/bvec.h: In function 'memcpy_to_bvec':
> include/linux/bvec.h:199:2: error: implicit declaration of
function 'memcpy_to_page'; did you mean 'memcpy_to_bvec'?
[-Werror=implicit-function-declaration]
199 | memcpy_to_page(bvec->bv_page,
bvec->bv_offset, from, bvec->bv_len);
| ^~~~~~~~~~~~~~
| memcpy_to_bvec
include/linux/bvec.h: In function 'memzero_bvec':
> include/linux/bvec.h:204:2: error: implicit declaration of
function 'memzero_page'; did you mean 'memzero_bvec'?
[-Werror=implicit-function-declaration]
204 | memzero_page(bvec->bv_page,
bvec->bv_offset, bvec->bv_len);
| ^~~~~~~~~~~~
| memzero_bvec
In file included from include/linux/highmem.h:14,
from include/linux/pagemap.h:11,
from arch/mips/mm/init.c:21:
include/linux/highmem-internal.h: At top level:
include/linux/highmem-internal.h:158:21: error: conflicting types for
'kmap_local_page'
158 | static inline void *kmap_local_page(struct page *page)
| ^~~~~~~~~~~~~~~
In file included from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from include/linux/pagemap.h:11,
from arch/mips/mm/init.c:21:
include/linux/bvec.h:189:9: note: previous implicit declaration of
'kmap_local_page' was here
189 | return kmap_local_page(bvec->bv_page) + bvec->bv_offset;
| ^~~~~~~~~~~~~~~
In file included from include/linux/pagemap.h:11,
from arch/mips/mm/init.c:21:
> include/linux/highmem.h:315:20: warning: conflicting types for
'memcpy_from_page'
315 | static inline void memcpy_from_page(char *to,
struct page *page,
| ^~~~~~~~~~~~~~~~
> include/linux/highmem.h:315:20: error: static declaration of
'memcpy_from_page' follows non-static declaration
In file included from
include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from include/linux/pagemap.h:11,
from arch/mips/mm/init.c:21:
include/linux/bvec.h:194:2: note: previous implicit declaration of
'memcpy_from_page' was here
194 | memcpy_from_page(to, bvec->bv_page, bvec->bv_offset, bvec->bv_len);
| ^~~~~~~~~~~~~~~~
In file included from include/linux/pagemap.h:11,
from arch/mips/mm/init.c:21:
> include/linux/highmem.h:325:20: warning: conflicting types for
'memcpy_to_page'
325 | static inline void memcpy_to_page(struct page
*page, size_t offset,
| ^~~~~~~~~~~~~~
> include/linux/highmem.h:325:20: error: static declaration of
'memcpy_to_page' follows non-static declaration
In file included from
include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from include/linux/pagemap.h:11,
from arch/mips/mm/init.c:21:
include/linux/bvec.h:199:2: note: previous implicit declaration of
'memcpy_to_page' was here
199 | memcpy_to_page(bvec->bv_page, bvec->bv_offset, from, bvec->bv_len);
| ^~~~~~~~~~~~~~
In file included from include/linux/pagemap.h:11,
from arch/mips/mm/init.c:21:
> include/linux/highmem.h:335:20: warning: conflicting types for
'memzero_page'
335 | static inline void memzero_page(struct page *page,
size_t offset, size_t len)
| ^~~~~~~~~~~~
> include/linux/highmem.h:335:20: error: static declaration of
'memzero_page' follows non-static declaration
In file included from
include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from include/linux/pagemap.h:11,
from arch/mips/mm/init.c:21:
include/linux/bvec.h:204:2: note: previous implicit declaration of
'memzero_page' was here
204 | memzero_page(bvec->bv_page, bvec->bv_offset, bvec->bv_len);
| ^~~~~~~~~~~~
arch/mips/mm/init.c:60:6: warning: no previous prototype for 'setup_zero_pages'
[-Wmissing-prototypes]
60 | void setup_zero_pages(void)
| ^~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from include/linux/pagemap.h:11,
from include/linux/mempolicy.h:16,
from kernel/fork.c:34:
include/linux/bvec.h: In function 'bvec_kmap_local':
include/linux/bvec.h:189:9: error: implicit declaration of function
'kmap_local_page'; did you mean 'dax_lock_page'?
[-Werror=implicit-function-declaration]
189 | return kmap_local_page(bvec->bv_page) + bvec->bv_offset;
| ^~~~~~~~~~~~~~~
| dax_lock_page
include/linux/bvec.h:189:40: warning: returning 'unsigned int' from a function
with return type 'void *' makes pointer from integer without a cast
[-Wint-conversion]
189 | return kmap_local_page(bvec->bv_page) + bvec->bv_offset;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
include/linux/bvec.h: In function 'memcpy_from_bvec':
> include/linux/bvec.h:194:2: error: implicit declaration of
function 'memcpy_from_page'; did you mean 'memcpy_from_bvec'?
[-Werror=implicit-function-declaration]
194 | memcpy_from_page(to,
bvec->bv_page, bvec->bv_offset, bvec->bv_len);
| ^~~~~~~~~~~~~~~~
| memcpy_from_bvec
include/linux/bvec.h: In function 'memcpy_to_bvec':
> include/linux/bvec.h:199:2: error: implicit declaration of
function 'memcpy_to_page'; did you mean 'memcpy_to_bvec'?
[-Werror=implicit-function-declaration]
199 | memcpy_to_page(bvec->bv_page,
bvec->bv_offset, from, bvec->bv_len);
| ^~~~~~~~~~~~~~
| memcpy_to_bvec
include/linux/bvec.h: In function 'memzero_bvec':
> include/linux/bvec.h:204:2: error: implicit declaration of
function 'memzero_page'; did you mean 'memzero_bvec'?
[-Werror=implicit-function-declaration]
204 | memzero_page(bvec->bv_page,
bvec->bv_offset, bvec->bv_len);
| ^~~~~~~~~~~~
| memzero_bvec
In file included from include/linux/highmem.h:14,
from include/linux/pagemap.h:11,
from include/linux/mempolicy.h:16,
from kernel/fork.c:34:
include/linux/highmem-internal.h: At top level:
include/linux/highmem-internal.h:158:21: error: conflicting types for
'kmap_local_page'
158 | static inline void *kmap_local_page(struct page *page)
| ^~~~~~~~~~~~~~~
In file included from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from include/linux/pagemap.h:11,
from include/linux/mempolicy.h:16,
from kernel/fork.c:34:
include/linux/bvec.h:189:9: note: previous implicit declaration of
'kmap_local_page' was here
189 | return kmap_local_page(bvec->bv_page) + bvec->bv_offset;
| ^~~~~~~~~~~~~~~
In file included from include/linux/pagemap.h:11,
from include/linux/mempolicy.h:16,
from kernel/fork.c:34:
> include/linux/highmem.h:315:20: warning: conflicting types for
'memcpy_from_page'
315 | static inline void memcpy_from_page(char *to,
struct page *page,
| ^~~~~~~~~~~~~~~~
> include/linux/highmem.h:315:20: error: static declaration of
'memcpy_from_page' follows non-static declaration
In file included from
include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from include/linux/pagemap.h:11,
from include/linux/mempolicy.h:16,
from kernel/fork.c:34:
include/linux/bvec.h:194:2: note: previous implicit declaration of
'memcpy_from_page' was here
194 | memcpy_from_page(to, bvec->bv_page, bvec->bv_offset, bvec->bv_len);
| ^~~~~~~~~~~~~~~~
In file included from include/linux/pagemap.h:11,
from include/linux/mempolicy.h:16,
from kernel/fork.c:34:
> include/linux/highmem.h:325:20: warning: conflicting types for
'memcpy_to_page'
325 | static inline void memcpy_to_page(struct page
*page, size_t offset,
| ^~~~~~~~~~~~~~
> include/linux/highmem.h:325:20: error: static declaration of
'memcpy_to_page' follows non-static declaration
In file included from
include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from include/linux/pagemap.h:11,
from include/linux/mempolicy.h:16,
from kernel/fork.c:34:
include/linux/bvec.h:199:2: note: previous implicit declaration of
'memcpy_to_page' was here
199 | memcpy_to_page(bvec->bv_page, bvec->bv_offset, from, bvec->bv_len);
| ^~~~~~~~~~~~~~
In file included from include/linux/pagemap.h:11,
from include/linux/mempolicy.h:16,
from kernel/fork.c:34:
> include/linux/highmem.h:335:20: warning: conflicting types for
'memzero_page'
335 | static inline void memzero_page(struct page *page,
size_t offset, size_t len)
| ^~~~~~~~~~~~
> include/linux/highmem.h:335:20: error: static declaration of
'memzero_page' follows non-static declaration
In file included from
include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from include/linux/pagemap.h:11,
from include/linux/mempolicy.h:16,
from kernel/fork.c:34:
include/linux/bvec.h:204:2: note: previous implicit declaration of
'memzero_page' was here
204 | memzero_page(bvec->bv_page, bvec->bv_offset, bvec->bv_len);
| ^~~~~~~~~~~~
kernel/fork.c:162:13: warning: no previous prototype for
'arch_release_task_struct' [-Wmissing-prototypes]
162 | void __weak arch_release_task_struct(struct task_struct *tsk)
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/fork.c:751:20: warning: no previous prototype for 'arch_task_cache_init'
[-Wmissing-prototypes]
751 | void __init __weak arch_task_cache_init(void) { }
| ^~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
..
vim +194 include/linux/bvec.h
186
187 static inline void *bvec_kmap_local(struct bio_vec *bvec)
188 {
189 return kmap_local_page(bvec->bv_page) + bvec->bv_offset;
190 }
191
192 static inline void memcpy_from_bvec(char *to, struct bio_vec *bvec)
193 {
194 memcpy_from_page(to, bvec->bv_page, bvec->bv_offset,
bvec->bv_len);
195 }
196
197 static inline void memcpy_to_bvec(struct bio_vec *bvec, const char *from)
198 {
199 memcpy_to_page(bvec->bv_page, bvec->bv_offset, from,
bvec->bv_len);
200 }
201
202 static inline void memzero_bvec(struct bio_vec *bvec)
203 {
204 memzero_page(bvec->bv_page, bvec->bv_offset,
bvec->bv_len);
205 }
206
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org