drivers/watchdog/ath79_wdt.c:161:37: sparse: sparse: incorrect type in argument 1 (different address spaces)

From: kernel test robot
Date: Sat Jun 26 2021 - 10:46:06 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b7050b242430f3170e0b57f5f55136e44cb8dc66
commit: e5fc436f06eef54ef512ea55a9db8eb9f2e76959 sparse: use static inline for __chk_{user,io}_ptr()
date: 10 months ago
config: arm-randconfig-s032-20210626 (attached as .config)
compiler: arm-linux-gnueabi-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=e5fc436f06eef54ef512ea55a9db8eb9f2e76959
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout e5fc436f06eef54ef512ea55a9db8eb9f2e76959
# 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=arm

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


sparse warnings: (new ones prefixed by >>)
>> drivers/watchdog/ath79_wdt.c:161:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got char const * @@
drivers/watchdog/ath79_wdt.c:161:37: sparse: expected void const volatile [noderef] __user *ptr
drivers/watchdog/ath79_wdt.c:161:37: sparse: got char const *
drivers/watchdog/ath79_wdt.c:235:27: sparse: sparse: incorrect type in initializer (incompatible argument 2 (different address spaces)) @@ expected int ( *write )( ... ) @@ got int ( * )( ... ) @@
drivers/watchdog/ath79_wdt.c:235:27: sparse: expected int ( *write )( ... )
drivers/watchdog/ath79_wdt.c:235:27: sparse: got int ( * )( ... )

vim +161 drivers/watchdog/ath79_wdt.c

f8394f61c66f48 Gabor Juhos 2011-01-04 148
f8394f61c66f48 Gabor Juhos 2011-01-04 149 static ssize_t ath79_wdt_write(struct file *file, const char *data,
f8394f61c66f48 Gabor Juhos 2011-01-04 150 size_t len, loff_t *ppos)
f8394f61c66f48 Gabor Juhos 2011-01-04 151 {
f8394f61c66f48 Gabor Juhos 2011-01-04 152 if (len) {
f8394f61c66f48 Gabor Juhos 2011-01-04 153 if (!nowayout) {
f8394f61c66f48 Gabor Juhos 2011-01-04 154 size_t i;
f8394f61c66f48 Gabor Juhos 2011-01-04 155
f8394f61c66f48 Gabor Juhos 2011-01-04 156 clear_bit(WDT_FLAGS_EXPECT_CLOSE, &wdt_flags);
f8394f61c66f48 Gabor Juhos 2011-01-04 157
f8394f61c66f48 Gabor Juhos 2011-01-04 158 for (i = 0; i != len; i++) {
f8394f61c66f48 Gabor Juhos 2011-01-04 159 char c;
f8394f61c66f48 Gabor Juhos 2011-01-04 160
f8394f61c66f48 Gabor Juhos 2011-01-04 @161 if (get_user(c, data + i))
f8394f61c66f48 Gabor Juhos 2011-01-04 162 return -EFAULT;
f8394f61c66f48 Gabor Juhos 2011-01-04 163
f8394f61c66f48 Gabor Juhos 2011-01-04 164 if (c == 'V')
f8394f61c66f48 Gabor Juhos 2011-01-04 165 set_bit(WDT_FLAGS_EXPECT_CLOSE,
f8394f61c66f48 Gabor Juhos 2011-01-04 166 &wdt_flags);
f8394f61c66f48 Gabor Juhos 2011-01-04 167 }
f8394f61c66f48 Gabor Juhos 2011-01-04 168 }
f8394f61c66f48 Gabor Juhos 2011-01-04 169
f8394f61c66f48 Gabor Juhos 2011-01-04 170 ath79_wdt_keepalive();
f8394f61c66f48 Gabor Juhos 2011-01-04 171 }
f8394f61c66f48 Gabor Juhos 2011-01-04 172
f8394f61c66f48 Gabor Juhos 2011-01-04 173 return len;
f8394f61c66f48 Gabor Juhos 2011-01-04 174 }
f8394f61c66f48 Gabor Juhos 2011-01-04 175

:::::: The code at line 161 was first introduced by commit
:::::: f8394f61c66f48b1fe9d6964ddce492d7f9a4cd9 watchdog: add driver for the Atheros AR71XX/AR724X/AR913X SoCs

:::::: TO: Gabor Juhos <juhosg@xxxxxxxxxxx>
:::::: CC: Wim Van Sebroeck <wim@xxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip