lkml.org 
[lkml]   [2022]   [Apr]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject[kas:lam 6/10] drivers/char/ipmi/ipmi_watchdog.c:776:37: sparse: sparse: incorrect type in argument 1 (different address spaces)
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/kas/linux.git lam
head: 73447e771c55e18598a6fbf6adee1002aee18ea0
commit: 92948bd2c12648f2fb8256ae69dd092ce4398a3a [6/10] x86/uaccess: Remove tags from the address before checking
config: x86_64-randconfig-s022 (https://download.01.org/0day-ci/archive/20220409/202204090719.r9wPivY6-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.2.0-19) 11.2.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/kas/linux.git/commit/?id=92948bd2c12648f2fb8256ae69dd092ce4398a3a
git remote add kas https://git.kernel.org/pub/scm/linux/kernel/git/kas/linux.git
git fetch --no-tags kas lam
git checkout 92948bd2c12648f2fb8256ae69dd092ce4398a3a
# save the config file to linux build tree
mkdir build_dir
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=x86_64 SHELL=/bin/bash

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


sparse warnings: (new ones prefixed by >>)
>> drivers/char/ipmi/ipmi_watchdog.c:776:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got char const *__ptr_clean @@
drivers/char/ipmi/ipmi_watchdog.c:776:37: sparse: expected void const volatile [noderef] __user *ptr
drivers/char/ipmi/ipmi_watchdog.c:776:37: sparse: got char const *__ptr_clean

vim +776 drivers/char/ipmi/ipmi_watchdog.c

55929332c92e5d Arnd Bergmann 2010-04-27 758
^1da177e4c3f41 Linus Torvalds 2005-04-16 759 static ssize_t ipmi_write(struct file *file,
^1da177e4c3f41 Linus Torvalds 2005-04-16 760 const char __user *buf,
^1da177e4c3f41 Linus Torvalds 2005-04-16 761 size_t len,
^1da177e4c3f41 Linus Torvalds 2005-04-16 762 loff_t *ppos)
^1da177e4c3f41 Linus Torvalds 2005-04-16 763 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 764 int rv;
^1da177e4c3f41 Linus Torvalds 2005-04-16 765
^1da177e4c3f41 Linus Torvalds 2005-04-16 766 if (len) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 767 if (!nowayout) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 768 size_t i;
^1da177e4c3f41 Linus Torvalds 2005-04-16 769
^1da177e4c3f41 Linus Torvalds 2005-04-16 770 /* In case it was set long ago */
^1da177e4c3f41 Linus Torvalds 2005-04-16 771 expect_close = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 772
^1da177e4c3f41 Linus Torvalds 2005-04-16 773 for (i = 0; i != len; i++) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 774 char c;
^1da177e4c3f41 Linus Torvalds 2005-04-16 775
^1da177e4c3f41 Linus Torvalds 2005-04-16 @776 if (get_user(c, buf + i))
^1da177e4c3f41 Linus Torvalds 2005-04-16 777 return -EFAULT;
^1da177e4c3f41 Linus Torvalds 2005-04-16 778 if (c == 'V')
^1da177e4c3f41 Linus Torvalds 2005-04-16 779 expect_close = 42;
^1da177e4c3f41 Linus Torvalds 2005-04-16 780 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 781 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 782 rv = ipmi_heartbeat();
^1da177e4c3f41 Linus Torvalds 2005-04-16 783 if (rv)
^1da177e4c3f41 Linus Torvalds 2005-04-16 784 return rv;
^1da177e4c3f41 Linus Torvalds 2005-04-16 785 }
3976df9b04c113 Mark Rustad 2008-07-10 786 return len;
^1da177e4c3f41 Linus Torvalds 2005-04-16 787 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 788

:::::: The code at line 776 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>

--
0-DAY CI Kernel Test Service
https://01.org/lkp

\
 
 \ /
  Last update: 2022-04-09 01:45    [W:0.030 / U:0.836 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site