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 for Android: free password hash cracker in your pocket
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202103221801.VOZxPMip-lkp@intel.com>
Date:   Mon, 22 Mar 2021 18:39:07 +0800
From:   kernel test robot <lkp@...el.com>
To:     Jiaxun Yang <jiaxun.yang@...goat.com>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
        Thomas Bogendoerfer <tsbogend@...ha.franken.de>
Subject: arch/mips/loongson2ef/common/reset.c:20:11: sparse: sparse: cast
 removes address space '__iomem' of expression

Hi Jiaxun,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   0d02ec6b3136c73c09e7859f0d0e4e2c4c07b49b
commit: b13812ddea615b6507beef24f76540c0c1143c5c MIPS: Loongson2ef: Disable Loongson MMI instructions
date:   6 months ago
config: mips-randconfig-s032-20210322 (attached as .config)
compiler: mips64el-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
        # apt-get install sparse
        # sparse version: v0.6.3-277-gc089cd2d-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b13812ddea615b6507beef24f76540c0c1143c5c
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout b13812ddea615b6507beef24f76540c0c1143c5c
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=mips 

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


sparse warnings: (new ones prefixed by >>)
   command-line: note: in included file:
   builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQUIRE redefined
   builtin:0:0: sparse: this was the original definition
   builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_SEQ_CST redefined
   builtin:0:0: sparse: this was the original definition
   builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQ_REL redefined
   builtin:0:0: sparse: this was the original definition
   builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_RELEASE redefined
   builtin:0:0: sparse: this was the original definition
>> arch/mips/loongson2ef/common/reset.c:20:11: sparse: sparse: cast removes address space '__iomem' of expression
--
   command-line: note: in included file:
   builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQUIRE redefined
   builtin:0:0: sparse: this was the original definition
   builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_SEQ_CST redefined
   builtin:0:0: sparse: this was the original definition
   builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQ_REL redefined
   builtin:0:0: sparse: this was the original definition
   builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_RELEASE redefined
   builtin:0:0: sparse: this was the original definition
   fs/ocfs2/refcounttree.c:635:27: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [usertype] rf_generation @@     got unsigned int @@
   fs/ocfs2/refcounttree.c:635:27: sparse:     expected restricted __le32 [usertype] rf_generation
   fs/ocfs2/refcounttree.c:635:27: sparse:     got unsigned int
>> fs/ocfs2/refcounttree.c:2087:9: sparse: sparse: cast from restricted __le16
>> fs/ocfs2/refcounttree.c:2134:17: sparse: sparse: cast from restricted __le32
--
   command-line: note: in included file:
   builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQUIRE redefined
   builtin:0:0: sparse: this was the original definition
   builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_SEQ_CST redefined
   builtin:0:0: sparse: this was the original definition
   builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQ_REL redefined
   builtin:0:0: sparse: this was the original definition
   builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_RELEASE redefined
   builtin:0:0: sparse: this was the original definition
>> arch/mips/pci/ops-loongson2.c:93:24: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   arch/mips/pci/ops-loongson2.c:93:24: sparse:     expected unsigned int [usertype] val
   arch/mips/pci/ops-loongson2.c:93:24: sparse:     got restricted __le32 [usertype]
>> arch/mips/pci/ops-loongson2.c:93:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got void *[assigned] addrp @@
   arch/mips/pci/ops-loongson2.c:93:44: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/pci/ops-loongson2.c:93:44: sparse:     got void *[assigned] addrp
>> arch/mips/pci/ops-loongson2.c:95:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void *[assigned] addrp @@
   arch/mips/pci/ops-loongson2.c:95:25: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/pci/ops-loongson2.c:95:25: sparse:     got void *[assigned] addrp
>> arch/mips/pci/ops-loongson2.c:95:25: sparse: sparse: cast to restricted __le32
--
   command-line: note: in included file:
   builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQUIRE redefined
   builtin:0:0: sparse: this was the original definition
   builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_SEQ_CST redefined
   builtin:0:0: sparse: this was the original definition
   builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQ_REL redefined
   builtin:0:0: sparse: this was the original definition
   builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_RELEASE redefined
   builtin:0:0: sparse: this was the original definition
   drivers/net/wireless/intel/iwlwifi/mvm/rs.c: note: in included file (through drivers/net/wireless/intel/iwlwifi/mvm/..//fw/img.h, drivers/net/wireless/intel/iwlwifi/mvm/..//iwl-trans.h, ...):
   drivers/net/wireless/intel/iwlwifi/mvm/..//fw/file.h:330:19: sparse: sparse: mixed bitwiseness
   drivers/net/wireless/intel/iwlwifi/mvm/..//fw/file.h:484:19: sparse: sparse: mixed bitwiseness
>> drivers/net/wireless/intel/iwlwifi/mvm/rs.c:3298:6: sparse: sparse: context imbalance in 'iwl_mvm_rs_tx_status' - wrong count at exit

vim +/__iomem +20 arch/mips/loongson2ef/common/reset.c

71e2f4dd5a65bd Jiaxun Yang       2019-10-20  16  
71e2f4dd5a65bd Jiaxun Yang       2019-10-20  17  static inline void loongson_reboot(void)
71e2f4dd5a65bd Jiaxun Yang       2019-10-20  18  {
71e2f4dd5a65bd Jiaxun Yang       2019-10-20  19  #ifndef CONFIG_CPU_JUMP_WORKAROUNDS
4bdc0d676a6431 Christoph Hellwig 2020-01-06 @20  	((void (*)(void))ioremap(LOONGSON_BOOT_BASE, 4)) ();
71e2f4dd5a65bd Jiaxun Yang       2019-10-20  21  #else
71e2f4dd5a65bd Jiaxun Yang       2019-10-20  22  	void (*func)(void);
71e2f4dd5a65bd Jiaxun Yang       2019-10-20  23  
4bdc0d676a6431 Christoph Hellwig 2020-01-06  24  	func = (void *)ioremap(LOONGSON_BOOT_BASE, 4);
71e2f4dd5a65bd Jiaxun Yang       2019-10-20  25  
71e2f4dd5a65bd Jiaxun Yang       2019-10-20  26  	__asm__ __volatile__(
71e2f4dd5a65bd Jiaxun Yang       2019-10-20  27  	"	.set	noat						\n"
71e2f4dd5a65bd Jiaxun Yang       2019-10-20  28  	"	jr	%[func]						\n"
71e2f4dd5a65bd Jiaxun Yang       2019-10-20  29  	"	.set	at						\n"
71e2f4dd5a65bd Jiaxun Yang       2019-10-20  30  	: /* No outputs */
71e2f4dd5a65bd Jiaxun Yang       2019-10-20  31  	: [func] "r" (func));
71e2f4dd5a65bd Jiaxun Yang       2019-10-20  32  #endif
71e2f4dd5a65bd Jiaxun Yang       2019-10-20  33  }
71e2f4dd5a65bd Jiaxun Yang       2019-10-20  34  

:::::: The code at line 20 was first introduced by commit
:::::: 4bdc0d676a643140bdf17dbf7eafedee3d496a3c remove ioremap_nocache and devm_ioremap_nocache

:::::: TO: Christoph Hellwig <hch@....de>
:::::: CC: Christoph Hellwig <hch@....de>

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

Download attachment ".config.gz" of type "application/gzip" (35156 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ