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  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Wed, 12 Aug 2020 10:43:25 +0800
From:   kernel test robot <lkp@...el.com>
To:     Krzysztof Kozlowski <krzk@...nel.org>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
        Wolfram Sang <wsa-dev@...g-engineering.com>
Subject: drivers/i2c/busses/i2c-mlxcpld.c:97:17: sparse: got void COPYING
 CREDITS Documentation Kbuild Kconfig LICENSES MAINTAINERS Makefile README
 arch block certs crypto drivers fs include init ipc kernel lib mm net
 samples scripts security sound tools usr virt

Hi Krzysztof,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   bb5baaa9238ecf8f13b112232c7bbe0d3d598ee8
commit: 4a2d5f663dab6614772d8e28ca190b127ba46d9d i2c: Enable compile testing for more drivers
date:   7 months ago
config: riscv-randconfig-s031-20200812 (attached as .config)
compiler: riscv64-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.2-168-g9554805c-dirty
        git checkout 4a2d5f663dab6614772d8e28ca190b127ba46d9d
        # 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=riscv 

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 >>)

   drivers/i2c/busses/i2c-mlxcpld.c:97:17: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/i2c/busses/i2c-mlxcpld.c:97:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] <asn:2> *addr @@     got void * @@
   drivers/i2c/busses/i2c-mlxcpld.c:97:17: sparse:     expected void volatile [noderef] <asn:2> *addr
>> drivers/i2c/busses/i2c-mlxcpld.c:97:17: sparse:     got void *
   drivers/i2c/busses/i2c-mlxcpld.c:99:17: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/i2c/busses/i2c-mlxcpld.c:99:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] <asn:2> *addr @@     got void * @@
   drivers/i2c/busses/i2c-mlxcpld.c:99:17: sparse:     expected void volatile [noderef] <asn:2> *addr
   drivers/i2c/busses/i2c-mlxcpld.c:99:17: sparse:     got void *
   drivers/i2c/busses/i2c-mlxcpld.c:107:38: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/i2c/busses/i2c-mlxcpld.c:107:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] <asn:2> *addr @@     got void * @@
   drivers/i2c/busses/i2c-mlxcpld.c:107:38: sparse:     expected void const volatile [noderef] <asn:2> *addr
   drivers/i2c/busses/i2c-mlxcpld.c:107:38: sparse:     got void *
   drivers/i2c/busses/i2c-mlxcpld.c:109:31: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/i2c/busses/i2c-mlxcpld.c:109:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] <asn:2> *addr @@     got void * @@
   drivers/i2c/busses/i2c-mlxcpld.c:109:31: sparse:     expected void const volatile [noderef] <asn:2> *addr
   drivers/i2c/busses/i2c-mlxcpld.c:109:31: sparse:     got void *
   drivers/i2c/busses/i2c-mlxcpld.c:119:27: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/i2c/busses/i2c-mlxcpld.c:119:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] <asn:2> *addr @@     got void * @@
   drivers/i2c/busses/i2c-mlxcpld.c:119:27: sparse:     expected void const volatile [noderef] <asn:2> *addr
   drivers/i2c/busses/i2c-mlxcpld.c:119:27: sparse:     got void *
   drivers/i2c/busses/i2c-mlxcpld.c:122:34: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/i2c/busses/i2c-mlxcpld.c:122:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] <asn:2> *addr @@     got void * @@
   drivers/i2c/busses/i2c-mlxcpld.c:122:34: sparse:     expected void const volatile [noderef] <asn:2> *addr
   drivers/i2c/busses/i2c-mlxcpld.c:122:34: sparse:     got void *
   drivers/i2c/busses/i2c-mlxcpld.c:125:34: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/i2c/busses/i2c-mlxcpld.c:125:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] <asn:2> *addr @@     got void * @@
   drivers/i2c/busses/i2c-mlxcpld.c:125:34: sparse:     expected void const volatile [noderef] <asn:2> *addr
   drivers/i2c/busses/i2c-mlxcpld.c:125:34: sparse:     got void *
   drivers/i2c/busses/i2c-mlxcpld.c:126:31: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/i2c/busses/i2c-mlxcpld.c:126:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] <asn:2> *addr @@     got void * @@
   drivers/i2c/busses/i2c-mlxcpld.c:126:31: sparse:     expected void const volatile [noderef] <asn:2> *addr
   drivers/i2c/busses/i2c-mlxcpld.c:126:31: sparse:     got void *
   drivers/i2c/busses/i2c-mlxcpld.c:129:34: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/i2c/busses/i2c-mlxcpld.c:129:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] <asn:2> *addr @@     got void * @@
   drivers/i2c/busses/i2c-mlxcpld.c:129:34: sparse:     expected void const volatile [noderef] <asn:2> *addr
   drivers/i2c/busses/i2c-mlxcpld.c:129:34: sparse:     got void *
   drivers/i2c/busses/i2c-mlxcpld.c:144:17: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/i2c/busses/i2c-mlxcpld.c:144:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] <asn:2> *addr @@     got void * @@
   drivers/i2c/busses/i2c-mlxcpld.c:144:17: sparse:     expected void volatile [noderef] <asn:2> *addr
   drivers/i2c/busses/i2c-mlxcpld.c:144:17: sparse:     got void *
   drivers/i2c/busses/i2c-mlxcpld.c:147:17: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/i2c/busses/i2c-mlxcpld.c:147:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] <asn:2> *addr @@     got void * @@
   drivers/i2c/busses/i2c-mlxcpld.c:147:17: sparse:     expected void volatile [noderef] <asn:2> *addr
   drivers/i2c/busses/i2c-mlxcpld.c:147:17: sparse:     got void *
   drivers/i2c/busses/i2c-mlxcpld.c:150:17: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/i2c/busses/i2c-mlxcpld.c:150:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] <asn:2> *addr @@     got void * @@
   drivers/i2c/busses/i2c-mlxcpld.c:150:17: sparse:     expected void volatile [noderef] <asn:2> *addr
   drivers/i2c/busses/i2c-mlxcpld.c:150:17: sparse:     got void *
   drivers/i2c/busses/i2c-mlxcpld.c:151:17: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/i2c/busses/i2c-mlxcpld.c:151:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] <asn:2> *addr @@     got void * @@
   drivers/i2c/busses/i2c-mlxcpld.c:151:17: sparse:     expected void volatile [noderef] <asn:2> *addr
   drivers/i2c/busses/i2c-mlxcpld.c:151:17: sparse:     got void *
   drivers/i2c/busses/i2c-mlxcpld.c:154:17: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/i2c/busses/i2c-mlxcpld.c:154:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] <asn:2> *addr @@     got void * @@
   drivers/i2c/busses/i2c-mlxcpld.c:154:17: sparse:     expected void volatile [noderef] <asn:2> *addr
   drivers/i2c/busses/i2c-mlxcpld.c:154:17: sparse:     got void *

vim +97 drivers/i2c/busses/i2c-mlxcpld.c

6bec23bff91491 Vadim Pasternak 2016-11-20   91  
6bec23bff91491 Vadim Pasternak 2016-11-20   92  static void mlxcpld_i2c_lpc_write_buf(u8 *data, u8 len, u32 addr)
6bec23bff91491 Vadim Pasternak 2016-11-20   93  {
6bec23bff91491 Vadim Pasternak 2016-11-20   94  	int i;
6bec23bff91491 Vadim Pasternak 2016-11-20   95  
6bec23bff91491 Vadim Pasternak 2016-11-20   96  	for (i = 0; i < len - len % 4; i += 4)
6bec23bff91491 Vadim Pasternak 2016-11-20  @97  		outl(*(u32 *)(data + i), addr + i);
6bec23bff91491 Vadim Pasternak 2016-11-20   98  	for (; i < len; ++i)
6bec23bff91491 Vadim Pasternak 2016-11-20   99  		outb(*(data + i), addr + i);
6bec23bff91491 Vadim Pasternak 2016-11-20  100  }
6bec23bff91491 Vadim Pasternak 2016-11-20  101  

:::::: The code at line 97 was first introduced by commit
:::::: 6bec23bff914915822f2c34d0555902fb2b9be1f i2c: mlxcpld: add master driver for mellanox systems

:::::: TO: Vadim Pasternak <vadimp@...lanox.com>
:::::: CC: Wolfram Sang <wsa@...-dreams.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" (34914 bytes)

Powered by blists - more mailing lists