Hi "Fabio, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on akpm-mm/mm-everything] [also build test WARNING on linus/master v5.19-rc2 next-20220615] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/intel-lab-lkp/linux/commits/Fabio-M-De-Francesco/highmem-Make-__kunmap_-local-atomic-take-const-void/20220614-222749 base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything config: parisc-defconfig (https://download.01.org/0day-ci/archive/20220615/202206152120.ql9qAwG5-lkp@xxxxxxxxx/config) compiler: hppa-linux-gcc (GCC) 11.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 # https://github.com/intel-lab-lkp/linux/commit/558ba1aeb12cc7940165f07160e51afb0bc1a64b git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Fabio-M-De-Francesco/highmem-Make-__kunmap_-local-atomic-take-const-void/20220614-222749 git checkout 558ba1aeb12cc7940165f07160e51afb0bc1a64b # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=parisc SHELL=/bin/bash fs/ If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): In file included from include/linux/highmem.h:13, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/writeback.h:13, from include/linux/backing-dev.h:16, from fs/open.c:16: include/linux/highmem-internal.h: In function '__kunmap_local': >> include/linux/highmem-internal.h:203:31: warning: passing argument 1 of 'kunmap_flush_on_unmap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 203 | kunmap_flush_on_unmap(addr); | ^~~~ In file included from include/linux/cacheflush.h:5, from include/linux/highmem.h:8, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/writeback.h:13, from include/linux/backing-dev.h:16, from fs/open.c:16: arch/parisc/include/asm/cacheflush.h:78:48: note: expected 'void *' but argument is of type 'const void *' 78 | static inline void kunmap_flush_on_unmap(void *addr) | ~~~~~~^~~~ In file included from include/linux/highmem.h:13, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/writeback.h:13, from include/linux/backing-dev.h:16, from fs/open.c:16: include/linux/highmem-internal.h: In function '__kunmap_atomic': include/linux/highmem-internal.h:230:31: warning: passing argument 1 of 'kunmap_flush_on_unmap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 230 | kunmap_flush_on_unmap(addr); | ^~~~ In file included from include/linux/cacheflush.h:5, from include/linux/highmem.h:8, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/writeback.h:13, from include/linux/backing-dev.h:16, from fs/open.c:16: arch/parisc/include/asm/cacheflush.h:78:48: note: expected 'void *' but argument is of type 'const void *' 78 | static inline void kunmap_flush_on_unmap(void *addr) | ~~~~~~^~~~ -- In file included from include/linux/highmem.h:13, from fs/pipe.c:21: include/linux/highmem-internal.h: In function '__kunmap_local': >> include/linux/highmem-internal.h:203:31: warning: passing argument 1 of 'kunmap_flush_on_unmap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 203 | kunmap_flush_on_unmap(addr); | ^~~~ In file included from include/linux/cacheflush.h:5, from include/linux/highmem.h:8, from fs/pipe.c:21: arch/parisc/include/asm/cacheflush.h:78:48: note: expected 'void *' but argument is of type 'const void *' 78 | static inline void kunmap_flush_on_unmap(void *addr) | ~~~~~~^~~~ In file included from include/linux/highmem.h:13, from fs/pipe.c:21: include/linux/highmem-internal.h: In function '__kunmap_atomic': include/linux/highmem-internal.h:230:31: warning: passing argument 1 of 'kunmap_flush_on_unmap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 230 | kunmap_flush_on_unmap(addr); | ^~~~ In file included from include/linux/cacheflush.h:5, from include/linux/highmem.h:8, from fs/pipe.c:21: arch/parisc/include/asm/cacheflush.h:78:48: note: expected 'void *' but argument is of type 'const void *' 78 | static inline void kunmap_flush_on_unmap(void *addr) | ~~~~~~^~~~ fs/pipe.c: At top level: fs/pipe.c:757:15: warning: no previous prototype for 'account_pipe_buffers' [-Wmissing-prototypes] 757 | unsigned long account_pipe_buffers(struct user_struct *user, | ^~~~~~~~~~~~~~~~~~~~ fs/pipe.c:763:6: warning: no previous prototype for 'too_many_pipe_buffers_soft' [-Wmissing-prototypes] 763 | bool too_many_pipe_buffers_soft(unsigned long user_bufs) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ fs/pipe.c:770:6: warning: no previous prototype for 'too_many_pipe_buffers_hard' [-Wmissing-prototypes] 770 | bool too_many_pipe_buffers_hard(unsigned long user_bufs) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ fs/pipe.c:777:6: warning: no previous prototype for 'pipe_is_unprivileged_user' [-Wmissing-prototypes] 777 | bool pipe_is_unprivileged_user(void) | ^~~~~~~~~~~~~~~~~~~~~~~~~ fs/pipe.c:1253:5: warning: no previous prototype for 'pipe_resize_ring' [-Wmissing-prototypes] 1253 | int pipe_resize_ring(struct pipe_inode_info *pipe, unsigned int nr_slots) | ^~~~~~~~~~~~~~~~ -- In file included from include/linux/highmem.h:13, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/blkdev.h:9, from include/linux/blk-mq.h:5, from fs/io_uring.c:60: include/linux/highmem-internal.h: In function '__kunmap_local': >> include/linux/highmem-internal.h:203:31: warning: passing argument 1 of 'kunmap_flush_on_unmap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 203 | kunmap_flush_on_unmap(addr); | ^~~~ In file included from include/linux/cacheflush.h:5, from include/linux/highmem.h:8, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/blkdev.h:9, from include/linux/blk-mq.h:5, from fs/io_uring.c:60: arch/parisc/include/asm/cacheflush.h:78:48: note: expected 'void *' but argument is of type 'const void *' 78 | static inline void kunmap_flush_on_unmap(void *addr) | ~~~~~~^~~~ In file included from include/linux/highmem.h:13, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/blkdev.h:9, from include/linux/blk-mq.h:5, from fs/io_uring.c:60: include/linux/highmem-internal.h: In function '__kunmap_atomic': include/linux/highmem-internal.h:230:31: warning: passing argument 1 of 'kunmap_flush_on_unmap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 230 | kunmap_flush_on_unmap(addr); | ^~~~ In file included from include/linux/cacheflush.h:5, from include/linux/highmem.h:8, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/blkdev.h:9, from include/linux/blk-mq.h:5, from fs/io_uring.c:60: arch/parisc/include/asm/cacheflush.h:78:48: note: expected 'void *' but argument is of type 'const void *' 78 | static inline void kunmap_flush_on_unmap(void *addr) | ~~~~~~^~~~ fs/io_uring.c: In function '__io_submit_flush_completions': fs/io_uring.c:3196:40: warning: variable 'prev' set but not used [-Wunused-but-set-variable] 3196 | struct io_wq_work_node *node, *prev; | ^~~~ -- In file included from include/linux/highmem.h:13, from include/linux/bvec.h:10, from include/linux/skbuff.h:17, from include/net/net_namespace.h:40, from include/linux/inet.h:42, from include/linux/sunrpc/msg_prot.h:200, from include/linux/sunrpc/auth.h:14, from include/linux/sunrpc/svc.h:18, from include/linux/sunrpc/svc_xprt.h:11, from fs/nfsd/export.c:19: include/linux/highmem-internal.h: In function '__kunmap_local': >> include/linux/highmem-internal.h:203:31: warning: passing argument 1 of 'kunmap_flush_on_unmap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 203 | kunmap_flush_on_unmap(addr); | ^~~~ In file included from include/linux/cacheflush.h:5, from include/linux/highmem.h:8, from include/linux/bvec.h:10, from include/linux/skbuff.h:17, from include/net/net_namespace.h:40, from include/linux/inet.h:42, from include/linux/sunrpc/msg_prot.h:200, from include/linux/sunrpc/auth.h:14, from include/linux/sunrpc/svc.h:18, from include/linux/sunrpc/svc_xprt.h:11, from fs/nfsd/export.c:19: arch/parisc/include/asm/cacheflush.h:78:48: note: expected 'void *' but argument is of type 'const void *' 78 | static inline void kunmap_flush_on_unmap(void *addr) | ~~~~~~^~~~ In file included from include/linux/highmem.h:13, from include/linux/bvec.h:10, from include/linux/skbuff.h:17, from include/net/net_namespace.h:40, from include/linux/inet.h:42, from include/linux/sunrpc/msg_prot.h:200, from include/linux/sunrpc/auth.h:14, from include/linux/sunrpc/svc.h:18, from include/linux/sunrpc/svc_xprt.h:11, from fs/nfsd/export.c:19: include/linux/highmem-internal.h: In function '__kunmap_atomic': include/linux/highmem-internal.h:230:31: warning: passing argument 1 of 'kunmap_flush_on_unmap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 230 | kunmap_flush_on_unmap(addr); | ^~~~ In file included from include/linux/cacheflush.h:5, from include/linux/highmem.h:8, from include/linux/bvec.h:10, from include/linux/skbuff.h:17, from include/net/net_namespace.h:40, from include/linux/inet.h:42, from include/linux/sunrpc/msg_prot.h:200, from include/linux/sunrpc/auth.h:14, from include/linux/sunrpc/svc.h:18, from include/linux/sunrpc/svc_xprt.h:11, from fs/nfsd/export.c:19: arch/parisc/include/asm/cacheflush.h:78:48: note: expected 'void *' but argument is of type 'const void *' 78 | static inline void kunmap_flush_on_unmap(void *addr) | ~~~~~~^~~~ fs/nfsd/export.c: In function 'exp_rootfh': fs/nfsd/export.c:979:34: warning: variable 'inode' set but not used [-Wunused-but-set-variable] 979 | struct inode *inode; | ^~~~~ -- In file included from include/linux/highmem.h:13, from include/linux/pagemap.h:11, from include/linux/nfs_fs.h:24, from fs/nfs/nfstrace.c:5: include/linux/highmem-internal.h: In function '__kunmap_local': >> include/linux/highmem-internal.h:203:31: warning: passing argument 1 of 'kunmap_flush_on_unmap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 203 | kunmap_flush_on_unmap(addr); | ^~~~ In file included from include/linux/cacheflush.h:5, from include/linux/highmem.h:8, from include/linux/pagemap.h:11, from include/linux/nfs_fs.h:24, from fs/nfs/nfstrace.c:5: arch/parisc/include/asm/cacheflush.h:78:48: note: expected 'void *' but argument is of type 'const void *' 78 | static inline void kunmap_flush_on_unmap(void *addr) | ~~~~~~^~~~ In file included from include/linux/highmem.h:13, from include/linux/pagemap.h:11, from include/linux/nfs_fs.h:24, from fs/nfs/nfstrace.c:5: include/linux/highmem-internal.h: In function '__kunmap_atomic': include/linux/highmem-internal.h:230:31: warning: passing argument 1 of 'kunmap_flush_on_unmap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 230 | kunmap_flush_on_unmap(addr); | ^~~~ In file included from include/linux/cacheflush.h:5, from include/linux/highmem.h:8, from include/linux/pagemap.h:11, from include/linux/nfs_fs.h:24, from fs/nfs/nfstrace.c:5: arch/parisc/include/asm/cacheflush.h:78:48: note: expected 'void *' but argument is of type 'const void *' 78 | static inline void kunmap_flush_on_unmap(void *addr) | ~~~~~~^~~~ In file included from fs/nfs/nfstrace.h:1670, from fs/nfs/nfstrace.c:10: include/trace/define_trace.h: At top level: include/trace/define_trace.h:95:42: fatal error: ./nfstrace.h: No such file or directory 95 | #include TRACE_INCLUDE(TRACE_INCLUDE_FILE) | ^ compilation terminated. -- In file included from include/linux/highmem.h:13, from include/linux/bvec.h:10, from include/linux/skbuff.h:17, from include/net/net_namespace.h:40, from include/linux/inet.h:42, from include/linux/sunrpc/msg_prot.h:200, from include/linux/nfs4.h:19, from fs/nfsd/export.h:11, from fs/nfsd/trace.h:13, from fs/nfsd/trace.c:4: include/linux/highmem-internal.h: In function '__kunmap_local': >> include/linux/highmem-internal.h:203:31: warning: passing argument 1 of 'kunmap_flush_on_unmap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 203 | kunmap_flush_on_unmap(addr); | ^~~~ In file included from include/linux/cacheflush.h:5, from include/linux/highmem.h:8, from include/linux/bvec.h:10, from include/linux/skbuff.h:17, from include/net/net_namespace.h:40, from include/linux/inet.h:42, from include/linux/sunrpc/msg_prot.h:200, from include/linux/nfs4.h:19, from fs/nfsd/export.h:11, from fs/nfsd/trace.h:13, from fs/nfsd/trace.c:4: arch/parisc/include/asm/cacheflush.h:78:48: note: expected 'void *' but argument is of type 'const void *' 78 | static inline void kunmap_flush_on_unmap(void *addr) | ~~~~~~^~~~ In file included from include/linux/highmem.h:13, from include/linux/bvec.h:10, from include/linux/skbuff.h:17, from include/net/net_namespace.h:40, from include/linux/inet.h:42, from include/linux/sunrpc/msg_prot.h:200, from include/linux/nfs4.h:19, from fs/nfsd/export.h:11, from fs/nfsd/trace.h:13, from fs/nfsd/trace.c:4: include/linux/highmem-internal.h: In function '__kunmap_atomic': include/linux/highmem-internal.h:230:31: warning: passing argument 1 of 'kunmap_flush_on_unmap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 230 | kunmap_flush_on_unmap(addr); | ^~~~ In file included from include/linux/cacheflush.h:5, from include/linux/highmem.h:8, from include/linux/bvec.h:10, from include/linux/skbuff.h:17, from include/net/net_namespace.h:40, from include/linux/inet.h:42, from include/linux/sunrpc/msg_prot.h:200, from include/linux/nfs4.h:19, from fs/nfsd/export.h:11, from fs/nfsd/trace.h:13, from fs/nfsd/trace.c:4: arch/parisc/include/asm/cacheflush.h:78:48: note: expected 'void *' but argument is of type 'const void *' 78 | static inline void kunmap_flush_on_unmap(void *addr) | ~~~~~~^~~~ In file included from fs/nfsd/trace.h:1152, from fs/nfsd/trace.c:4: include/trace/define_trace.h: At top level: include/trace/define_trace.h:95:42: fatal error: ./trace.h: No such file or directory 95 | #include TRACE_INCLUDE(TRACE_INCLUDE_FILE) | ^ compilation terminated. vim +203 include/linux/highmem-internal.h f3ba3c710ac5a3 Thomas Gleixner 2020-11-18 199 558ba1aeb12cc7 Fabio M. De Francesco 2022-06-14 200 static inline void __kunmap_local(const void *addr) f3ba3c710ac5a3 Thomas Gleixner 2020-11-18 201 { f3ba3c710ac5a3 Thomas Gleixner 2020-11-18 202 #ifdef ARCH_HAS_FLUSH_ON_KUNMAP f3ba3c710ac5a3 Thomas Gleixner 2020-11-18 @203 kunmap_flush_on_unmap(addr); f3ba3c710ac5a3 Thomas Gleixner 2020-11-18 204 #endif f3ba3c710ac5a3 Thomas Gleixner 2020-11-18 205 } f3ba3c710ac5a3 Thomas Gleixner 2020-11-18 206 -- 0-DAY CI Kernel Test Service https://01.org/lkp