lkml.org 
[lkml]   [2020]   [Jun]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectdrivers/scsi/qedi/qedi_debugfs.c:109:45: sparse: sparse: incorrect type in argument 2 (different address spaces)
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 4e99b32169e84b4ece5a1d74eb0b7e4ef07866b3
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 9 days ago
config: x86_64-randconfig-s021-20200628 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# save the attached .config to linux build tree
make W=1 C=1 ARCH=x86_64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

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/scsi/qedi/qedi_debugfs.c:109:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected char const * @@ got char const [noderef] __user *buffer @@
drivers/scsi/qedi/qedi_debugfs.c:109:45: sparse: expected char const *
>> drivers/scsi/qedi/qedi_debugfs.c:109:45: sparse: got char const [noderef] __user *buffer
>> drivers/scsi/qedi/qedi_debugfs.c:128:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected char *buf @@ got char [noderef] __user *buffer @@
drivers/scsi/qedi/qedi_debugfs.c:128:23: sparse: expected char *buf
>> drivers/scsi/qedi/qedi_debugfs.c:128:23: sparse: got char [noderef] __user *buffer
drivers/scsi/qedi/qedi_debugfs.c:154:41: sparse: sparse: restricted __le16 degrades to integer

vim +109 drivers/scsi/qedi/qedi_debugfs.c

ace7f46ba5fde7 Manish Rangankar 2016-12-01 92
ace7f46ba5fde7 Manish Rangankar 2016-12-01 93 static ssize_t
ace7f46ba5fde7 Manish Rangankar 2016-12-01 94 qedi_dbg_do_not_recover_cmd_write(struct file *filp, const char __user *buffer,
ace7f46ba5fde7 Manish Rangankar 2016-12-01 95 size_t count, loff_t *ppos)
ace7f46ba5fde7 Manish Rangankar 2016-12-01 96 {
ace7f46ba5fde7 Manish Rangankar 2016-12-01 97 size_t cnt = 0;
ace7f46ba5fde7 Manish Rangankar 2016-12-01 98 struct qedi_dbg_ctx *qedi_dbg =
ace7f46ba5fde7 Manish Rangankar 2016-12-01 99 (struct qedi_dbg_ctx *)filp->private_data;
ace7f46ba5fde7 Manish Rangankar 2016-12-01 100 struct qedi_list_of_funcs *lof = qedi_dbg_do_not_recover_ops;
ace7f46ba5fde7 Manish Rangankar 2016-12-01 101
ace7f46ba5fde7 Manish Rangankar 2016-12-01 102 if (*ppos)
ace7f46ba5fde7 Manish Rangankar 2016-12-01 103 return 0;
ace7f46ba5fde7 Manish Rangankar 2016-12-01 104
ace7f46ba5fde7 Manish Rangankar 2016-12-01 105 while (lof) {
ace7f46ba5fde7 Manish Rangankar 2016-12-01 106 if (!(lof->oper_str))
ace7f46ba5fde7 Manish Rangankar 2016-12-01 107 break;
ace7f46ba5fde7 Manish Rangankar 2016-12-01 108
ace7f46ba5fde7 Manish Rangankar 2016-12-01 @109 if (!strncmp(lof->oper_str, buffer, strlen(lof->oper_str))) {
ace7f46ba5fde7 Manish Rangankar 2016-12-01 110 cnt = lof->oper_func(qedi_dbg);
ace7f46ba5fde7 Manish Rangankar 2016-12-01 111 break;
ace7f46ba5fde7 Manish Rangankar 2016-12-01 112 }
ace7f46ba5fde7 Manish Rangankar 2016-12-01 113
ace7f46ba5fde7 Manish Rangankar 2016-12-01 114 lof++;
ace7f46ba5fde7 Manish Rangankar 2016-12-01 115 }
ace7f46ba5fde7 Manish Rangankar 2016-12-01 116 return (count - cnt);
ace7f46ba5fde7 Manish Rangankar 2016-12-01 117 }
ace7f46ba5fde7 Manish Rangankar 2016-12-01 118
ace7f46ba5fde7 Manish Rangankar 2016-12-01 119 static ssize_t
ace7f46ba5fde7 Manish Rangankar 2016-12-01 120 qedi_dbg_do_not_recover_cmd_read(struct file *filp, char __user *buffer,
ace7f46ba5fde7 Manish Rangankar 2016-12-01 121 size_t count, loff_t *ppos)
ace7f46ba5fde7 Manish Rangankar 2016-12-01 122 {
ace7f46ba5fde7 Manish Rangankar 2016-12-01 123 size_t cnt = 0;
ace7f46ba5fde7 Manish Rangankar 2016-12-01 124
ace7f46ba5fde7 Manish Rangankar 2016-12-01 125 if (*ppos)
ace7f46ba5fde7 Manish Rangankar 2016-12-01 126 return 0;
ace7f46ba5fde7 Manish Rangankar 2016-12-01 127
bd571195c9535c Arnd Bergmann 2017-03-02 @128 cnt = sprintf(buffer, "do_not_recover=%d\n", qedi_do_not_recover);
ace7f46ba5fde7 Manish Rangankar 2016-12-01 129 cnt = min_t(int, count, cnt - *ppos);
ace7f46ba5fde7 Manish Rangankar 2016-12-01 130 *ppos += cnt;
ace7f46ba5fde7 Manish Rangankar 2016-12-01 131 return cnt;
ace7f46ba5fde7 Manish Rangankar 2016-12-01 132 }
ace7f46ba5fde7 Manish Rangankar 2016-12-01 133

:::::: The code at line 109 was first introduced by commit
:::::: ace7f46ba5fde7273207c7122b0650ceb72510e0 scsi: qedi: Add QLogic FastLinQ offload iSCSI driver framework.

:::::: TO: Manish Rangankar <manish.rangankar@cavium.com>
:::::: CC: Martin K. Petersen <martin.petersen@oracle.com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[unhandled content-type:application/gzip]
\
 
 \ /
  Last update: 2020-06-27 21:08    [W:0.035 / U:1.128 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site