drivers/watchdog/indydog.c:116:24: sparse: sparse: incorrect type in initializer (different address spaces)
From: kernel test robot
Date: Fri May 07 2021 - 03:39:41 EST
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: e48661230cc35b3d0f4367eddfc19f86463ab917
commit: ddb002d6d6af12c45dd9d565cadf0f40b36b7c25 MIPS: uaccess: Reduce number of nested macros
date: 4 weeks ago
config: mips-randconfig-s032-20210507 (attached as .config)
compiler: mips-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-341-g8af24329-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ddb002d6d6af12c45dd9d565cadf0f40b36b7c25
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout ddb002d6d6af12c45dd9d565cadf0f40b36b7c25
# 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__' W=1 ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>
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
drivers/watchdog/indydog.c:110:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got struct watchdog_info * @@
drivers/watchdog/indydog.c:110:35: sparse: expected void [noderef] __user *to
drivers/watchdog/indydog.c:110:35: sparse: got struct watchdog_info *
>> drivers/watchdog/indydog.c:116:24: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int [noderef] __user *__p @@ got int * @@
drivers/watchdog/indydog.c:116:24: sparse: expected int [noderef] __user *__p
drivers/watchdog/indydog.c:116:24: sparse: got int *
>> drivers/watchdog/indydog.c:119:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const [noderef] __user *__p @@ got int * @@
drivers/watchdog/indydog.c:119:21: sparse: expected int const [noderef] __user *__p
drivers/watchdog/indydog.c:119:21: sparse: got int *
drivers/watchdog/indydog.c:135:24: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int [noderef] __user *__p @@ got int * @@
drivers/watchdog/indydog.c:135:24: sparse: expected int [noderef] __user *__p
drivers/watchdog/indydog.c:135:24: sparse: got int *
drivers/watchdog/indydog.c:153:27: sparse: sparse: incorrect type in initializer (incompatible argument 2 (different address spaces)) @@ expected int ( *write )( ... ) @@ got int ( * )( ... ) @@
drivers/watchdog/indydog.c:153:27: sparse: expected int ( *write )( ... )
drivers/watchdog/indydog.c:153:27: sparse: got int ( * )( ... )
vim +116 drivers/watchdog/indydog.c
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 97
9b9dbcca3fa13a drivers/watchdog/indydog.c Alan Cox 2008-05-19 98 static long indydog_ioctl(struct file *file, unsigned int cmd,
9b9dbcca3fa13a drivers/watchdog/indydog.c Alan Cox 2008-05-19 99 unsigned long arg)
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 100 {
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 101 int options, retval = -EINVAL;
42747d712de56c drivers/watchdog/indydog.c Wim Van Sebroeck 2009-12-26 102 static const struct watchdog_info ident = {
e73a780272a46e drivers/watchdog/indydog.c Wim Van Sebroeck 2009-05-11 103 .options = WDIOF_KEEPALIVEPING,
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 104 .firmware_version = 0,
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 105 .identity = "Hardware Watchdog for SGI IP22",
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 106 };
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 107
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 108 switch (cmd) {
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 109 case WDIOC_GETSUPPORT:
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 @110 if (copy_to_user((struct watchdog_info *)arg,
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 111 &ident, sizeof(ident)))
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 112 return -EFAULT;
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 113 return 0;
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 114 case WDIOC_GETSTATUS:
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 115 case WDIOC_GETBOOTSTATUS:
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 @116 return put_user(0, (int *)arg);
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 117 case WDIOC_SETOPTIONS:
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 118 {
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 @119 if (get_user(options, (int *)arg))
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 120 return -EFAULT;
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 121 if (options & WDIOS_DISABLECARD) {
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 122 indydog_stop();
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 123 retval = 0;
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 124 }
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 125 if (options & WDIOS_ENABLECARD) {
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 126 indydog_start();
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 127 retval = 0;
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 128 }
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 129 return retval;
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 130 }
0c06090c9472db drivers/watchdog/indydog.c Wim Van Sebroeck 2008-07-18 131 case WDIOC_KEEPALIVE:
0c06090c9472db drivers/watchdog/indydog.c Wim Van Sebroeck 2008-07-18 132 indydog_ping();
0c06090c9472db drivers/watchdog/indydog.c Wim Van Sebroeck 2008-07-18 133 return 0;
0c06090c9472db drivers/watchdog/indydog.c Wim Van Sebroeck 2008-07-18 134 case WDIOC_GETTIMEOUT:
0c06090c9472db drivers/watchdog/indydog.c Wim Van Sebroeck 2008-07-18 135 return put_user(WATCHDOG_TIMEOUT, (int *)arg);
9b9dbcca3fa13a drivers/watchdog/indydog.c Alan Cox 2008-05-19 136 default:
9b9dbcca3fa13a drivers/watchdog/indydog.c Alan Cox 2008-05-19 137 return -ENOTTY;
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 138 }
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 139 }
^1da177e4c3f41 drivers/char/watchdog/indydog.c Linus Torvalds 2005-04-16 140
:::::: The code at line 116 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds@xxxxxxxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxx>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip