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>] [day] [month] [year] [list]
Date:   Mon, 17 Aug 2020 05:50:58 +0800
From:   kernel test robot <lkp@...el.com>
To:     Luc Van Oostenryck <luc.vanoostenryck@...il.com>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: drivers/video/fbdev/sis/init.c:882:9: sparse: sparse: cast removes
 address space '__iomem' of expression

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   9123e3a74ec7b934a4a099e98af6a61c2f80bbf5
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date:   8 weeks ago
config: riscv-randconfig-s032-20200817 (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-180-g49f7e13a-dirty
        git checkout 670d0a4b10704667765f7d18f7592993d02783aa
        # 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/video/fbdev/sis/init.c:882:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/video/fbdev/sis/init.c:882:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
>> drivers/video/fbdev/sis/init.c:882:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/video/fbdev/sis/init.c:882:9: sparse:     got void *
   drivers/video/fbdev/sis/init.c:883:9: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/video/fbdev/sis/init.c:883:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/video/fbdev/sis/init.c:883:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/video/fbdev/sis/init.c:883:9: sparse:     got void *
   drivers/video/fbdev/sis/init.c:889:9: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/video/fbdev/sis/init.c:889:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/video/fbdev/sis/init.c:889:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/video/fbdev/sis/init.c:889:9: sparse:     got void *
   drivers/video/fbdev/sis/init.c:895:9: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/video/fbdev/sis/init.c:895:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/video/fbdev/sis/init.c:895:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/video/fbdev/sis/init.c:895:9: sparse:     got void *
   drivers/video/fbdev/sis/init.c:901:9: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/video/fbdev/sis/init.c:901:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/video/fbdev/sis/init.c:901:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/video/fbdev/sis/init.c:901:9: sparse:     got void *
   drivers/video/fbdev/sis/init.c:907:9: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/video/fbdev/sis/init.c:907:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/video/fbdev/sis/init.c:907:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/video/fbdev/sis/init.c:907:9: sparse:     got void *
   drivers/video/fbdev/sis/init.c:908:16: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/video/fbdev/sis/init.c:908:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
>> drivers/video/fbdev/sis/init.c:908:16: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/video/fbdev/sis/init.c:908:16: sparse:     got void *
   drivers/video/fbdev/sis/init.c:914:16: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/video/fbdev/sis/init.c:914:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/video/fbdev/sis/init.c:914:16: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/video/fbdev/sis/init.c:914:16: sparse:     got void *
   drivers/video/fbdev/sis/init.c:920:16: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/video/fbdev/sis/init.c:920:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/video/fbdev/sis/init.c:920:16: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/video/fbdev/sis/init.c:920:16: sparse:     got void *
   drivers/video/fbdev/sis/init.c:926:16: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/video/fbdev/sis/init.c:926:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/video/fbdev/sis/init.c:926:16: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/video/fbdev/sis/init.c:926:16: sparse:     got void *
--
>> drivers/gpu/drm/qxl/qxl_cmd.c:153:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/gpu/drm/qxl/qxl_cmd.c:153:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
>> drivers/gpu/drm/qxl/qxl_cmd.c:153:17: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/gpu/drm/qxl/qxl_cmd.c:153:17: sparse:     got void *
   drivers/gpu/drm/qxl/qxl_cmd.c:307:9: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/gpu/drm/qxl/qxl_cmd.c:307:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/gpu/drm/qxl/qxl_cmd.c:307:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/gpu/drm/qxl/qxl_cmd.c:307:9: sparse:     got void *
   drivers/gpu/drm/qxl/qxl_cmd.c:363:9: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/gpu/drm/qxl/qxl_cmd.c:363:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/gpu/drm/qxl/qxl_cmd.c:363:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/gpu/drm/qxl/qxl_cmd.c:363:9: sparse:     got void *
   drivers/gpu/drm/qxl/qxl_cmd.c:368:9: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/gpu/drm/qxl/qxl_cmd.c:368:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/gpu/drm/qxl/qxl_cmd.c:368:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/gpu/drm/qxl/qxl_cmd.c:368:9: sparse:     got void *
   drivers/gpu/drm/qxl/qxl_cmd.c:418:9: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/gpu/drm/qxl/qxl_cmd.c:418:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/gpu/drm/qxl/qxl_cmd.c:418:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/gpu/drm/qxl/qxl_cmd.c:418:9: sparse:     got void *
--
>> drivers/gpu/drm/qxl/qxl_irq.c:70:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/gpu/drm/qxl/qxl_irq.c:70:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
>> drivers/gpu/drm/qxl/qxl_irq.c:70:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/gpu/drm/qxl/qxl_irq.c:70:9: sparse:     got void *

# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=670d0a4b10704667765f7d18f7592993d02783aa
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
vim +/__iomem +882 drivers/video/fbdev/sis/init.c

^1da177e4c3f41 drivers/video/sis/init.c Linus Torvalds 2005-04-16  878  
^1da177e4c3f41 drivers/video/sis/init.c Linus Torvalds 2005-04-16  879  void
f48b9644ef330a drivers/video/sis/init.c Aaro Koskinen  2010-12-20  880  SiS_SetReg(SISIOADDRESS port, u8 index, u8 data)
^1da177e4c3f41 drivers/video/sis/init.c Linus Torvalds 2005-04-16  881  {
f48b9644ef330a drivers/video/sis/init.c Aaro Koskinen  2010-12-20 @882  	outb(index, port);
f48b9644ef330a drivers/video/sis/init.c Aaro Koskinen  2010-12-20  883  	outb(data, port + 1);
^1da177e4c3f41 drivers/video/sis/init.c Linus Torvalds 2005-04-16  884  }
^1da177e4c3f41 drivers/video/sis/init.c Linus Torvalds 2005-04-16  885  
^1da177e4c3f41 drivers/video/sis/init.c Linus Torvalds 2005-04-16  886  void
f48b9644ef330a drivers/video/sis/init.c Aaro Koskinen  2010-12-20  887  SiS_SetRegByte(SISIOADDRESS port, u8 data)
^1da177e4c3f41 drivers/video/sis/init.c Linus Torvalds 2005-04-16  888  {
f48b9644ef330a drivers/video/sis/init.c Aaro Koskinen  2010-12-20  889  	outb(data, port);
^1da177e4c3f41 drivers/video/sis/init.c Linus Torvalds 2005-04-16  890  }
^1da177e4c3f41 drivers/video/sis/init.c Linus Torvalds 2005-04-16  891  
^1da177e4c3f41 drivers/video/sis/init.c Linus Torvalds 2005-04-16  892  void
f48b9644ef330a drivers/video/sis/init.c Aaro Koskinen  2010-12-20  893  SiS_SetRegShort(SISIOADDRESS port, u16 data)
^1da177e4c3f41 drivers/video/sis/init.c Linus Torvalds 2005-04-16  894  {
f48b9644ef330a drivers/video/sis/init.c Aaro Koskinen  2010-12-20  895  	outw(data, port);
^1da177e4c3f41 drivers/video/sis/init.c Linus Torvalds 2005-04-16  896  }
^1da177e4c3f41 drivers/video/sis/init.c Linus Torvalds 2005-04-16  897  
^1da177e4c3f41 drivers/video/sis/init.c Linus Torvalds 2005-04-16  898  void
f48b9644ef330a drivers/video/sis/init.c Aaro Koskinen  2010-12-20  899  SiS_SetRegLong(SISIOADDRESS port, u32 data)
^1da177e4c3f41 drivers/video/sis/init.c Linus Torvalds 2005-04-16  900  {
f48b9644ef330a drivers/video/sis/init.c Aaro Koskinen  2010-12-20  901  	outl(data, port);
^1da177e4c3f41 drivers/video/sis/init.c Linus Torvalds 2005-04-16  902  }
^1da177e4c3f41 drivers/video/sis/init.c Linus Torvalds 2005-04-16  903  
f48b9644ef330a drivers/video/sis/init.c Aaro Koskinen  2010-12-20  904  u8
f48b9644ef330a drivers/video/sis/init.c Aaro Koskinen  2010-12-20  905  SiS_GetReg(SISIOADDRESS port, u8 index)
^1da177e4c3f41 drivers/video/sis/init.c Linus Torvalds 2005-04-16  906  {
f48b9644ef330a drivers/video/sis/init.c Aaro Koskinen  2010-12-20  907  	outb(index, port);
2ad28472695a94 drivers/video/sis/init.c Aaro Koskinen  2010-11-19 @908  	return inb(port + 1);
^1da177e4c3f41 drivers/video/sis/init.c Linus Torvalds 2005-04-16  909  }
^1da177e4c3f41 drivers/video/sis/init.c Linus Torvalds 2005-04-16  910  

:::::: The code at line 882 was first introduced by commit
:::::: f48b9644ef330a13c6bb16ca85c2efdbe7e25558 sisfb: change register I/O functions to use fixed size types

:::::: TO: Aaro Koskinen <aaro.koskinen@....fi>
:::::: CC: Paul Mundt <lethal@...ux-sh.org>

---
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" (28358 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ