All of lore.kernel.org
 help / color / mirror / Atom feed
* [arnd-playground:set_fs 2/11] mm/maccess.c:37:17: sparse: sparse: cast removes address space '__user' of expression
@ 2022-02-13  4:43 ` kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2022-02-13  4:43 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: kbuild-all, linux-kernel

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git set_fs
head:   0a081326831928b0d739bce68b8c0f9138b9c8ba
commit: 872ec1b8b0c531c0367aa6f365149bf70d3bcd30 [2/11] sparc64: add __{get,put}_kernel_nocheck()
config: sparc64-randconfig-s032-20220213 (https://download.01.org/0day-ci/archive/20220213/202202131259.S6ZP2d9J-lkp@intel.com/config)
compiler: sparc64-linux-gcc (GCC) 11.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.4-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git/commit/?id=872ec1b8b0c531c0367aa6f365149bf70d3bcd30
        git remote add arnd-playground https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git
        git fetch --no-tags arnd-playground set_fs
        git checkout 872ec1b8b0c531c0367aa6f365149bf70d3bcd30
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=sparc64 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)
>> mm/maccess.c:37:17: sparse: sparse: cast removes address space '__user' of expression
>> mm/maccess.c:37:17: sparse: sparse: cast removes address space '__user' of expression
>> mm/maccess.c:37:17: sparse: sparse: cast removes address space '__user' of expression
>> mm/maccess.c:37:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:39:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:39:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:39:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:39:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:41:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:41:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:41:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:41:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:42:9: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:42:9: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:42:9: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:42:9: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:68:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:68:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:68:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:68:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:70:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:70:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:70:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:70:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:72:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:72:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:72:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:72:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:73:9: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:73:9: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:73:9: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:73:9: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:92:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:92:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:92:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:92:17: sparse: sparse: cast removes address space '__user' of expression

vim +/__user +37 mm/maccess.c

b58294ead14cde Christoph Hellwig 2020-06-08  16  
fe557319aa06c2 Christoph Hellwig 2020-06-17  17  #define copy_from_kernel_nofault_loop(dst, src, len, type, err_label)	\
b58294ead14cde Christoph Hellwig 2020-06-08  18  	while (len >= sizeof(type)) {					\
b58294ead14cde Christoph Hellwig 2020-06-08  19  		__get_kernel_nofault(dst, src, type, err_label);		\
b58294ead14cde Christoph Hellwig 2020-06-08  20  		dst += sizeof(type);					\
b58294ead14cde Christoph Hellwig 2020-06-08  21  		src += sizeof(type);					\
b58294ead14cde Christoph Hellwig 2020-06-08  22  		len -= sizeof(type);					\
b58294ead14cde Christoph Hellwig 2020-06-08  23  	}
b58294ead14cde Christoph Hellwig 2020-06-08  24  
fe557319aa06c2 Christoph Hellwig 2020-06-17  25  long copy_from_kernel_nofault(void *dst, const void *src, size_t size)
b58294ead14cde Christoph Hellwig 2020-06-08  26  {
2423de2e6f4d86 Arnd Bergmann     2021-08-11  27  	unsigned long align = 0;
2423de2e6f4d86 Arnd Bergmann     2021-08-11  28  
2423de2e6f4d86 Arnd Bergmann     2021-08-11  29  	if (!IS_ENABLED(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS))
2423de2e6f4d86 Arnd Bergmann     2021-08-11  30  		align = (unsigned long)dst | (unsigned long)src;
2423de2e6f4d86 Arnd Bergmann     2021-08-11  31  
fe557319aa06c2 Christoph Hellwig 2020-06-17  32  	if (!copy_from_kernel_nofault_allowed(src, size))
2a71e81d321987 Christoph Hellwig 2020-06-08  33  		return -ERANGE;
b58294ead14cde Christoph Hellwig 2020-06-08  34  
b58294ead14cde Christoph Hellwig 2020-06-08  35  	pagefault_disable();
2423de2e6f4d86 Arnd Bergmann     2021-08-11  36  	if (!(align & 7))
fe557319aa06c2 Christoph Hellwig 2020-06-17 @37  		copy_from_kernel_nofault_loop(dst, src, size, u64, Efault);
2423de2e6f4d86 Arnd Bergmann     2021-08-11  38  	if (!(align & 3))
fe557319aa06c2 Christoph Hellwig 2020-06-17  39  		copy_from_kernel_nofault_loop(dst, src, size, u32, Efault);
2423de2e6f4d86 Arnd Bergmann     2021-08-11  40  	if (!(align & 1))
fe557319aa06c2 Christoph Hellwig 2020-06-17  41  		copy_from_kernel_nofault_loop(dst, src, size, u16, Efault);
fe557319aa06c2 Christoph Hellwig 2020-06-17  42  	copy_from_kernel_nofault_loop(dst, src, size, u8, Efault);
b58294ead14cde Christoph Hellwig 2020-06-08  43  	pagefault_enable();
b58294ead14cde Christoph Hellwig 2020-06-08  44  	return 0;
b58294ead14cde Christoph Hellwig 2020-06-08  45  Efault:
b58294ead14cde Christoph Hellwig 2020-06-08  46  	pagefault_enable();
b58294ead14cde Christoph Hellwig 2020-06-08  47  	return -EFAULT;
b58294ead14cde Christoph Hellwig 2020-06-08  48  }
fe557319aa06c2 Christoph Hellwig 2020-06-17  49  EXPORT_SYMBOL_GPL(copy_from_kernel_nofault);
b58294ead14cde Christoph Hellwig 2020-06-08  50  

:::::: The code at line 37 was first introduced by commit
:::::: fe557319aa06c23cffc9346000f119547e0f289a maccess: rename probe_kernel_{read,write} to copy_{from,to}_kernel_nofault

:::::: TO: Christoph Hellwig <hch@lst.de>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.org>

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [arnd-playground:set_fs 2/11] mm/maccess.c:37:17: sparse: sparse: cast removes address space '__user' of expression
@ 2022-02-13  4:43 ` kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2022-02-13  4:43 UTC (permalink / raw)
  To: kbuild-all

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

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git set_fs
head:   0a081326831928b0d739bce68b8c0f9138b9c8ba
commit: 872ec1b8b0c531c0367aa6f365149bf70d3bcd30 [2/11] sparc64: add __{get,put}_kernel_nocheck()
config: sparc64-randconfig-s032-20220213 (https://download.01.org/0day-ci/archive/20220213/202202131259.S6ZP2d9J-lkp(a)intel.com/config)
compiler: sparc64-linux-gcc (GCC) 11.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.4-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git/commit/?id=872ec1b8b0c531c0367aa6f365149bf70d3bcd30
        git remote add arnd-playground https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git
        git fetch --no-tags arnd-playground set_fs
        git checkout 872ec1b8b0c531c0367aa6f365149bf70d3bcd30
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=sparc64 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)
>> mm/maccess.c:37:17: sparse: sparse: cast removes address space '__user' of expression
>> mm/maccess.c:37:17: sparse: sparse: cast removes address space '__user' of expression
>> mm/maccess.c:37:17: sparse: sparse: cast removes address space '__user' of expression
>> mm/maccess.c:37:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:39:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:39:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:39:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:39:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:41:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:41:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:41:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:41:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:42:9: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:42:9: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:42:9: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:42:9: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:68:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:68:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:68:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:68:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:70:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:70:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:70:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:70:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:72:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:72:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:72:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:72:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:73:9: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:73:9: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:73:9: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:73:9: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:92:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:92:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:92:17: sparse: sparse: cast removes address space '__user' of expression
   mm/maccess.c:92:17: sparse: sparse: cast removes address space '__user' of expression

vim +/__user +37 mm/maccess.c

b58294ead14cde Christoph Hellwig 2020-06-08  16  
fe557319aa06c2 Christoph Hellwig 2020-06-17  17  #define copy_from_kernel_nofault_loop(dst, src, len, type, err_label)	\
b58294ead14cde Christoph Hellwig 2020-06-08  18  	while (len >= sizeof(type)) {					\
b58294ead14cde Christoph Hellwig 2020-06-08  19  		__get_kernel_nofault(dst, src, type, err_label);		\
b58294ead14cde Christoph Hellwig 2020-06-08  20  		dst += sizeof(type);					\
b58294ead14cde Christoph Hellwig 2020-06-08  21  		src += sizeof(type);					\
b58294ead14cde Christoph Hellwig 2020-06-08  22  		len -= sizeof(type);					\
b58294ead14cde Christoph Hellwig 2020-06-08  23  	}
b58294ead14cde Christoph Hellwig 2020-06-08  24  
fe557319aa06c2 Christoph Hellwig 2020-06-17  25  long copy_from_kernel_nofault(void *dst, const void *src, size_t size)
b58294ead14cde Christoph Hellwig 2020-06-08  26  {
2423de2e6f4d86 Arnd Bergmann     2021-08-11  27  	unsigned long align = 0;
2423de2e6f4d86 Arnd Bergmann     2021-08-11  28  
2423de2e6f4d86 Arnd Bergmann     2021-08-11  29  	if (!IS_ENABLED(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS))
2423de2e6f4d86 Arnd Bergmann     2021-08-11  30  		align = (unsigned long)dst | (unsigned long)src;
2423de2e6f4d86 Arnd Bergmann     2021-08-11  31  
fe557319aa06c2 Christoph Hellwig 2020-06-17  32  	if (!copy_from_kernel_nofault_allowed(src, size))
2a71e81d321987 Christoph Hellwig 2020-06-08  33  		return -ERANGE;
b58294ead14cde Christoph Hellwig 2020-06-08  34  
b58294ead14cde Christoph Hellwig 2020-06-08  35  	pagefault_disable();
2423de2e6f4d86 Arnd Bergmann     2021-08-11  36  	if (!(align & 7))
fe557319aa06c2 Christoph Hellwig 2020-06-17 @37  		copy_from_kernel_nofault_loop(dst, src, size, u64, Efault);
2423de2e6f4d86 Arnd Bergmann     2021-08-11  38  	if (!(align & 3))
fe557319aa06c2 Christoph Hellwig 2020-06-17  39  		copy_from_kernel_nofault_loop(dst, src, size, u32, Efault);
2423de2e6f4d86 Arnd Bergmann     2021-08-11  40  	if (!(align & 1))
fe557319aa06c2 Christoph Hellwig 2020-06-17  41  		copy_from_kernel_nofault_loop(dst, src, size, u16, Efault);
fe557319aa06c2 Christoph Hellwig 2020-06-17  42  	copy_from_kernel_nofault_loop(dst, src, size, u8, Efault);
b58294ead14cde Christoph Hellwig 2020-06-08  43  	pagefault_enable();
b58294ead14cde Christoph Hellwig 2020-06-08  44  	return 0;
b58294ead14cde Christoph Hellwig 2020-06-08  45  Efault:
b58294ead14cde Christoph Hellwig 2020-06-08  46  	pagefault_enable();
b58294ead14cde Christoph Hellwig 2020-06-08  47  	return -EFAULT;
b58294ead14cde Christoph Hellwig 2020-06-08  48  }
fe557319aa06c2 Christoph Hellwig 2020-06-17  49  EXPORT_SYMBOL_GPL(copy_from_kernel_nofault);
b58294ead14cde Christoph Hellwig 2020-06-08  50  

:::::: The code at line 37 was first introduced by commit
:::::: fe557319aa06c23cffc9346000f119547e0f289a maccess: rename probe_kernel_{read,write} to copy_{from,to}_kernel_nofault

:::::: TO: Christoph Hellwig <hch@lst.de>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.org>

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-02-13  4:56 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-13  4:43 [arnd-playground:set_fs 2/11] mm/maccess.c:37:17: sparse: sparse: cast removes address space '__user' of expression kernel test robot
2022-02-13  4:43 ` kernel test robot

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.