lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 15 Jun 2022 22:08:19 +0800
From:   kernel test robot <lkp@...el.com>
To:     "Fabio M. De Francesco" <fmdefrancesco@...il.com>,
        Andrew Morton <akpm@...ux-foundation.org>,
        Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
        Kees Cook <keescook@...omium.org>,
        "Matthew Wilcox (Oracle)" <willy@...radead.org>,
        Ira Weiny <ira.weiny@...el.com>, linux-kernel@...r.kernel.org
Cc:     kbuild-all@...ts.01.org,
        Linux Memory Management List <linux-mm@...ck.org>,
        David Sterba <dsterba@...e.cz>
Subject: Re: [PATCH] highmem: Make __kunmap_{local,atomic}() take "const void
 *"

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

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ