mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* drivers/scsi/qedi/qedi_debugfs.c:109:45: sparse: sparse: incorrect type in argument 2 (different address spaces)
@ 2023-12-18 22:01 kernel test robot
  0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2023-12-18 22:01 UTC (permalink / raw)
  To: Heiko Stuebner
  Cc: oe-kbuild-all, linux-kernel, Palmer Dabbelt, Andrew Jones, Conor Dooley

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   2cf4f94d8e8646803f8fb0facf134b0cd7fb691a
commit: 56e0790c7f9e59ba6a0f4b59981d1d6fbf43efb0 RISC-V: add infrastructure to allow different str* implementations
date:   11 months ago
config: riscv-randconfig-r133-20231218 (https://download.01.org/0day-ci/archive/20231219/202312190535.sXcZRYU4-lkp@intel.com/config)
compiler: clang version 18.0.0git (https://github.com/llvm/llvm-project 5ac12951b4e9bbfcc5791282d0961ec2b65575e9)
reproduce: (https://download.01.org/0day-ci/archive/20231219/202312190535.sXcZRYU4-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202312190535.sXcZRYU4-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
   WARNING: invalid argument to '-march': '_zicbom_zihintpause'
>> drivers/scsi/qedi/qedi_debugfs.c:109:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected char const *ct @@     got char const [noderef] __user *buffer @@
   drivers/scsi/qedi/qedi_debugfs.c:109:45: sparse:     expected char const *ct
   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

ace7f46ba5fde72 Manish Rangankar   2016-12-01   13  
bd571195c9535c0 Arnd Bergmann      2017-03-02  @14  int qedi_do_not_recover;
ace7f46ba5fde72 Manish Rangankar   2016-12-01   15  static struct dentry *qedi_dbg_root;
ace7f46ba5fde72 Manish Rangankar   2016-12-01   16  
ace7f46ba5fde72 Manish Rangankar   2016-12-01   17  void
ace7f46ba5fde72 Manish Rangankar   2016-12-01   18  qedi_dbg_host_init(struct qedi_dbg_ctx *qedi,
779936faf4f1210 Arnd Bergmann      2018-02-02   19  		   const struct qedi_debugfs_ops *dops,
ace7f46ba5fde72 Manish Rangankar   2016-12-01   20  		   const struct file_operations *fops)
ace7f46ba5fde72 Manish Rangankar   2016-12-01   21  {
ace7f46ba5fde72 Manish Rangankar   2016-12-01   22  	char host_dirname[32];
ace7f46ba5fde72 Manish Rangankar   2016-12-01   23  
ace7f46ba5fde72 Manish Rangankar   2016-12-01   24  	sprintf(host_dirname, "host%u", qedi->host_no);
ace7f46ba5fde72 Manish Rangankar   2016-12-01   25  	qedi->bdf_dentry = debugfs_create_dir(host_dirname, qedi_dbg_root);
ace7f46ba5fde72 Manish Rangankar   2016-12-01   26  
ace7f46ba5fde72 Manish Rangankar   2016-12-01   27  	while (dops) {
ace7f46ba5fde72 Manish Rangankar   2016-12-01   28  		if (!(dops->name))
ace7f46ba5fde72 Manish Rangankar   2016-12-01   29  			break;
ace7f46ba5fde72 Manish Rangankar   2016-12-01   30  
26febfb38c7d679 Greg Kroah-Hartman 2019-01-22   31  		debugfs_create_file(dops->name, 0600, qedi->bdf_dentry, qedi,
ace7f46ba5fde72 Manish Rangankar   2016-12-01   32  				    fops);
ace7f46ba5fde72 Manish Rangankar   2016-12-01   33  		dops++;
ace7f46ba5fde72 Manish Rangankar   2016-12-01   34  		fops++;
ace7f46ba5fde72 Manish Rangankar   2016-12-01   35  	}
ace7f46ba5fde72 Manish Rangankar   2016-12-01   36  }
ace7f46ba5fde72 Manish Rangankar   2016-12-01   37  
ace7f46ba5fde72 Manish Rangankar   2016-12-01   38  void
ace7f46ba5fde72 Manish Rangankar   2016-12-01   39  qedi_dbg_host_exit(struct qedi_dbg_ctx *qedi)
ace7f46ba5fde72 Manish Rangankar   2016-12-01   40  {
ace7f46ba5fde72 Manish Rangankar   2016-12-01   41  	debugfs_remove_recursive(qedi->bdf_dentry);
ace7f46ba5fde72 Manish Rangankar   2016-12-01   42  	qedi->bdf_dentry = NULL;
ace7f46ba5fde72 Manish Rangankar   2016-12-01   43  }
ace7f46ba5fde72 Manish Rangankar   2016-12-01   44  
ace7f46ba5fde72 Manish Rangankar   2016-12-01   45  void
ace7f46ba5fde72 Manish Rangankar   2016-12-01   46  qedi_dbg_init(char *drv_name)
ace7f46ba5fde72 Manish Rangankar   2016-12-01   47  {
ace7f46ba5fde72 Manish Rangankar   2016-12-01   48  	qedi_dbg_root = debugfs_create_dir(drv_name, NULL);
ace7f46ba5fde72 Manish Rangankar   2016-12-01   49  }
ace7f46ba5fde72 Manish Rangankar   2016-12-01   50  
ace7f46ba5fde72 Manish Rangankar   2016-12-01   51  void
ace7f46ba5fde72 Manish Rangankar   2016-12-01   52  qedi_dbg_exit(void)
ace7f46ba5fde72 Manish Rangankar   2016-12-01   53  {
ace7f46ba5fde72 Manish Rangankar   2016-12-01   54  	debugfs_remove_recursive(qedi_dbg_root);
ace7f46ba5fde72 Manish Rangankar   2016-12-01   55  	qedi_dbg_root = NULL;
ace7f46ba5fde72 Manish Rangankar   2016-12-01   56  }
ace7f46ba5fde72 Manish Rangankar   2016-12-01   57  
ace7f46ba5fde72 Manish Rangankar   2016-12-01   58  static ssize_t
ace7f46ba5fde72 Manish Rangankar   2016-12-01   59  qedi_dbg_do_not_recover_enable(struct qedi_dbg_ctx *qedi_dbg)
ace7f46ba5fde72 Manish Rangankar   2016-12-01   60  {
bd571195c9535c0 Arnd Bergmann      2017-03-02   61  	if (!qedi_do_not_recover)
bd571195c9535c0 Arnd Bergmann      2017-03-02   62  		qedi_do_not_recover = 1;
ace7f46ba5fde72 Manish Rangankar   2016-12-01   63  
ace7f46ba5fde72 Manish Rangankar   2016-12-01   64  	QEDI_INFO(qedi_dbg, QEDI_LOG_DEBUGFS, "do_not_recover=%d\n",
bd571195c9535c0 Arnd Bergmann      2017-03-02   65  		  qedi_do_not_recover);
ace7f46ba5fde72 Manish Rangankar   2016-12-01   66  	return 0;
ace7f46ba5fde72 Manish Rangankar   2016-12-01   67  }
ace7f46ba5fde72 Manish Rangankar   2016-12-01   68  
ace7f46ba5fde72 Manish Rangankar   2016-12-01   69  static ssize_t
ace7f46ba5fde72 Manish Rangankar   2016-12-01   70  qedi_dbg_do_not_recover_disable(struct qedi_dbg_ctx *qedi_dbg)
ace7f46ba5fde72 Manish Rangankar   2016-12-01   71  {
bd571195c9535c0 Arnd Bergmann      2017-03-02   72  	if (qedi_do_not_recover)
bd571195c9535c0 Arnd Bergmann      2017-03-02   73  		qedi_do_not_recover = 0;
ace7f46ba5fde72 Manish Rangankar   2016-12-01   74  
ace7f46ba5fde72 Manish Rangankar   2016-12-01   75  	QEDI_INFO(qedi_dbg, QEDI_LOG_DEBUGFS, "do_not_recover=%d\n",
bd571195c9535c0 Arnd Bergmann      2017-03-02   76  		  qedi_do_not_recover);
ace7f46ba5fde72 Manish Rangankar   2016-12-01   77  	return 0;
ace7f46ba5fde72 Manish Rangankar   2016-12-01   78  }
ace7f46ba5fde72 Manish Rangankar   2016-12-01   79  
ace7f46ba5fde72 Manish Rangankar   2016-12-01   80  static struct qedi_list_of_funcs qedi_dbg_do_not_recover_ops[] = {
ace7f46ba5fde72 Manish Rangankar   2016-12-01   81  	{ "enable", qedi_dbg_do_not_recover_enable },
ace7f46ba5fde72 Manish Rangankar   2016-12-01   82  	{ "disable", qedi_dbg_do_not_recover_disable },
ace7f46ba5fde72 Manish Rangankar   2016-12-01   83  	{ NULL, NULL }
ace7f46ba5fde72 Manish Rangankar   2016-12-01   84  };
ace7f46ba5fde72 Manish Rangankar   2016-12-01   85  
779936faf4f1210 Arnd Bergmann      2018-02-02   86  const struct qedi_debugfs_ops qedi_debugfs_ops[] = {
ace7f46ba5fde72 Manish Rangankar   2016-12-01   87  	{ "gbl_ctx", NULL },
ace7f46ba5fde72 Manish Rangankar   2016-12-01   88  	{ "do_not_recover", qedi_dbg_do_not_recover_ops},
ace7f46ba5fde72 Manish Rangankar   2016-12-01   89  	{ "io_trace", NULL },
ace7f46ba5fde72 Manish Rangankar   2016-12-01   90  	{ NULL, NULL }
ace7f46ba5fde72 Manish Rangankar   2016-12-01   91  };
ace7f46ba5fde72 Manish Rangankar   2016-12-01   92  
ace7f46ba5fde72 Manish Rangankar   2016-12-01   93  static ssize_t
ace7f46ba5fde72 Manish Rangankar   2016-12-01   94  qedi_dbg_do_not_recover_cmd_write(struct file *filp, const char __user *buffer,
ace7f46ba5fde72 Manish Rangankar   2016-12-01   95  				  size_t count, loff_t *ppos)
ace7f46ba5fde72 Manish Rangankar   2016-12-01   96  {
ace7f46ba5fde72 Manish Rangankar   2016-12-01   97  	size_t cnt = 0;
ace7f46ba5fde72 Manish Rangankar   2016-12-01   98  	struct qedi_dbg_ctx *qedi_dbg =
ace7f46ba5fde72 Manish Rangankar   2016-12-01   99  			(struct qedi_dbg_ctx *)filp->private_data;
ace7f46ba5fde72 Manish Rangankar   2016-12-01  100  	struct qedi_list_of_funcs *lof = qedi_dbg_do_not_recover_ops;
ace7f46ba5fde72 Manish Rangankar   2016-12-01  101  
ace7f46ba5fde72 Manish Rangankar   2016-12-01  102  	if (*ppos)
ace7f46ba5fde72 Manish Rangankar   2016-12-01  103  		return 0;
ace7f46ba5fde72 Manish Rangankar   2016-12-01  104  
ace7f46ba5fde72 Manish Rangankar   2016-12-01  105  	while (lof) {
ace7f46ba5fde72 Manish Rangankar   2016-12-01  106  		if (!(lof->oper_str))
ace7f46ba5fde72 Manish Rangankar   2016-12-01  107  			break;
ace7f46ba5fde72 Manish Rangankar   2016-12-01  108  
ace7f46ba5fde72 Manish Rangankar   2016-12-01 @109  		if (!strncmp(lof->oper_str, buffer, strlen(lof->oper_str))) {
ace7f46ba5fde72 Manish Rangankar   2016-12-01  110  			cnt = lof->oper_func(qedi_dbg);
ace7f46ba5fde72 Manish Rangankar   2016-12-01  111  			break;
ace7f46ba5fde72 Manish Rangankar   2016-12-01  112  		}
ace7f46ba5fde72 Manish Rangankar   2016-12-01  113  
ace7f46ba5fde72 Manish Rangankar   2016-12-01  114  		lof++;
ace7f46ba5fde72 Manish Rangankar   2016-12-01  115  	}
ace7f46ba5fde72 Manish Rangankar   2016-12-01  116  	return (count - cnt);
ace7f46ba5fde72 Manish Rangankar   2016-12-01  117  }
ace7f46ba5fde72 Manish Rangankar   2016-12-01  118  

:::::: 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
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 3+ messages in thread

* drivers/scsi/qedi/qedi_debugfs.c:109:45: sparse: sparse: incorrect type in argument 2 (different address spaces)
@ 2026-06-26  2:28 kernel test robot
  0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2026-06-26  2:28 UTC (permalink / raw)
  To: Thomas Weißschuh 
  Cc: oe-kbuild-all, linux-kernel, Shuah Khan, Johannes Berg, David Gow

Hi Thomas,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   4edcdefd4083ae04b1a5656f4be6cd83ae919ef4
commit: 031cdd3bc3f369553933c1b0f4cb18000162c8ff kunit: Enable PCI on UML without triggering WARN()
date:   9 months ago
config: um-randconfig-r111-20260626 (https://download.01.org/0day-ci/archive/20260626/202606261021.2zXZiUy4-lkp@intel.com/config)
compiler: gcc-13 (Debian 13.3.0-16) 13.3.0
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260626/202606261021.2zXZiUy4-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Fixes: 031cdd3bc3f3 ("kunit: Enable PCI on UML without triggering WARN()")
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202606261021.2zXZiUy4-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 *ct @@     got char const [noderef] __user *buffer @@
   drivers/scsi/qedi/qedi_debugfs.c:109:45: sparse:     expected char const *ct
   drivers/scsi/qedi/qedi_debugfs.c:109:45: sparse:     got char const [noderef] __user *buffer
   drivers/scsi/qedi/qedi_debugfs.c:150:41: sparse: sparse: restricted __le16 degrades to integer
--
   drivers/net/wireless/ath/wil6210/debugfs.c: note: in included file:
>> drivers/net/wireless/ath/wil6210/txrx.h:662:23: sparse: sparse: unsigned value that used to be signed checked against zero?
   drivers/net/wireless/ath/wil6210/debugfs.c:53:31: sparse: signed value source
>> drivers/net/wireless/ath/wil6210/txrx.h:662:23: sparse: sparse: unsigned value that used to be signed checked against zero?
   drivers/net/wireless/ath/wil6210/debugfs.c:1123:39: sparse: signed value source

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

ace7f46ba5fde7 Manish Rangankar   2016-12-01   13  
bd571195c9535c Arnd Bergmann      2017-03-02  @14  int qedi_do_not_recover;
ace7f46ba5fde7 Manish Rangankar   2016-12-01   15  static struct dentry *qedi_dbg_root;
ace7f46ba5fde7 Manish Rangankar   2016-12-01   16  
ace7f46ba5fde7 Manish Rangankar   2016-12-01   17  void
ace7f46ba5fde7 Manish Rangankar   2016-12-01   18  qedi_dbg_host_init(struct qedi_dbg_ctx *qedi,
779936faf4f121 Arnd Bergmann      2018-02-02   19  		   const struct qedi_debugfs_ops *dops,
ace7f46ba5fde7 Manish Rangankar   2016-12-01   20  		   const struct file_operations *fops)
ace7f46ba5fde7 Manish Rangankar   2016-12-01   21  {
ace7f46ba5fde7 Manish Rangankar   2016-12-01   22  	char host_dirname[32];
ace7f46ba5fde7 Manish Rangankar   2016-12-01   23  
ace7f46ba5fde7 Manish Rangankar   2016-12-01   24  	sprintf(host_dirname, "host%u", qedi->host_no);
ace7f46ba5fde7 Manish Rangankar   2016-12-01   25  	qedi->bdf_dentry = debugfs_create_dir(host_dirname, qedi_dbg_root);
ace7f46ba5fde7 Manish Rangankar   2016-12-01   26  
ace7f46ba5fde7 Manish Rangankar   2016-12-01   27  	while (dops) {
ace7f46ba5fde7 Manish Rangankar   2016-12-01   28  		if (!(dops->name))
ace7f46ba5fde7 Manish Rangankar   2016-12-01   29  			break;
ace7f46ba5fde7 Manish Rangankar   2016-12-01   30  
26febfb38c7d67 Greg Kroah-Hartman 2019-01-22   31  		debugfs_create_file(dops->name, 0600, qedi->bdf_dentry, qedi,
ace7f46ba5fde7 Manish Rangankar   2016-12-01   32  				    fops);
ace7f46ba5fde7 Manish Rangankar   2016-12-01   33  		dops++;
ace7f46ba5fde7 Manish Rangankar   2016-12-01   34  		fops++;
ace7f46ba5fde7 Manish Rangankar   2016-12-01   35  	}
ace7f46ba5fde7 Manish Rangankar   2016-12-01   36  }
ace7f46ba5fde7 Manish Rangankar   2016-12-01   37  
ace7f46ba5fde7 Manish Rangankar   2016-12-01   38  void
ace7f46ba5fde7 Manish Rangankar   2016-12-01   39  qedi_dbg_host_exit(struct qedi_dbg_ctx *qedi)
ace7f46ba5fde7 Manish Rangankar   2016-12-01   40  {
ace7f46ba5fde7 Manish Rangankar   2016-12-01   41  	debugfs_remove_recursive(qedi->bdf_dentry);
ace7f46ba5fde7 Manish Rangankar   2016-12-01   42  	qedi->bdf_dentry = NULL;
ace7f46ba5fde7 Manish Rangankar   2016-12-01   43  }
ace7f46ba5fde7 Manish Rangankar   2016-12-01   44  
ace7f46ba5fde7 Manish Rangankar   2016-12-01   45  void
ace7f46ba5fde7 Manish Rangankar   2016-12-01   46  qedi_dbg_init(char *drv_name)
ace7f46ba5fde7 Manish Rangankar   2016-12-01   47  {
ace7f46ba5fde7 Manish Rangankar   2016-12-01   48  	qedi_dbg_root = debugfs_create_dir(drv_name, NULL);
ace7f46ba5fde7 Manish Rangankar   2016-12-01   49  }
ace7f46ba5fde7 Manish Rangankar   2016-12-01   50  
ace7f46ba5fde7 Manish Rangankar   2016-12-01   51  void
ace7f46ba5fde7 Manish Rangankar   2016-12-01   52  qedi_dbg_exit(void)
ace7f46ba5fde7 Manish Rangankar   2016-12-01   53  {
ace7f46ba5fde7 Manish Rangankar   2016-12-01   54  	debugfs_remove_recursive(qedi_dbg_root);
ace7f46ba5fde7 Manish Rangankar   2016-12-01   55  	qedi_dbg_root = NULL;
ace7f46ba5fde7 Manish Rangankar   2016-12-01   56  }
ace7f46ba5fde7 Manish Rangankar   2016-12-01   57  
ace7f46ba5fde7 Manish Rangankar   2016-12-01   58  static ssize_t
ace7f46ba5fde7 Manish Rangankar   2016-12-01   59  qedi_dbg_do_not_recover_enable(struct qedi_dbg_ctx *qedi_dbg)
ace7f46ba5fde7 Manish Rangankar   2016-12-01   60  {
bd571195c9535c Arnd Bergmann      2017-03-02   61  	if (!qedi_do_not_recover)
bd571195c9535c Arnd Bergmann      2017-03-02   62  		qedi_do_not_recover = 1;
ace7f46ba5fde7 Manish Rangankar   2016-12-01   63  
ace7f46ba5fde7 Manish Rangankar   2016-12-01   64  	QEDI_INFO(qedi_dbg, QEDI_LOG_DEBUGFS, "do_not_recover=%d\n",
bd571195c9535c Arnd Bergmann      2017-03-02   65  		  qedi_do_not_recover);
ace7f46ba5fde7 Manish Rangankar   2016-12-01   66  	return 0;
ace7f46ba5fde7 Manish Rangankar   2016-12-01   67  }
ace7f46ba5fde7 Manish Rangankar   2016-12-01   68  
ace7f46ba5fde7 Manish Rangankar   2016-12-01   69  static ssize_t
ace7f46ba5fde7 Manish Rangankar   2016-12-01   70  qedi_dbg_do_not_recover_disable(struct qedi_dbg_ctx *qedi_dbg)
ace7f46ba5fde7 Manish Rangankar   2016-12-01   71  {
bd571195c9535c Arnd Bergmann      2017-03-02   72  	if (qedi_do_not_recover)
bd571195c9535c Arnd Bergmann      2017-03-02   73  		qedi_do_not_recover = 0;
ace7f46ba5fde7 Manish Rangankar   2016-12-01   74  
ace7f46ba5fde7 Manish Rangankar   2016-12-01   75  	QEDI_INFO(qedi_dbg, QEDI_LOG_DEBUGFS, "do_not_recover=%d\n",
bd571195c9535c Arnd Bergmann      2017-03-02   76  		  qedi_do_not_recover);
ace7f46ba5fde7 Manish Rangankar   2016-12-01   77  	return 0;
ace7f46ba5fde7 Manish Rangankar   2016-12-01   78  }
ace7f46ba5fde7 Manish Rangankar   2016-12-01   79  
ace7f46ba5fde7 Manish Rangankar   2016-12-01   80  static struct qedi_list_of_funcs qedi_dbg_do_not_recover_ops[] = {
ace7f46ba5fde7 Manish Rangankar   2016-12-01   81  	{ "enable", qedi_dbg_do_not_recover_enable },
ace7f46ba5fde7 Manish Rangankar   2016-12-01   82  	{ "disable", qedi_dbg_do_not_recover_disable },
ace7f46ba5fde7 Manish Rangankar   2016-12-01   83  	{ NULL, NULL }
ace7f46ba5fde7 Manish Rangankar   2016-12-01   84  };
ace7f46ba5fde7 Manish Rangankar   2016-12-01   85  
779936faf4f121 Arnd Bergmann      2018-02-02   86  const struct qedi_debugfs_ops qedi_debugfs_ops[] = {
ace7f46ba5fde7 Manish Rangankar   2016-12-01   87  	{ "gbl_ctx", NULL },
ace7f46ba5fde7 Manish Rangankar   2016-12-01   88  	{ "do_not_recover", qedi_dbg_do_not_recover_ops},
ace7f46ba5fde7 Manish Rangankar   2016-12-01   89  	{ "io_trace", NULL },
ace7f46ba5fde7 Manish Rangankar   2016-12-01   90  	{ NULL, NULL }
ace7f46ba5fde7 Manish Rangankar   2016-12-01   91  };
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  

:::::: 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
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 3+ messages in thread

* drivers/scsi/qedi/qedi_debugfs.c:109:45: sparse: sparse: incorrect type in argument 2 (different address spaces)
@ 2020-06-27 18:54 kernel test robot
  0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2020-06-27 18:54 UTC (permalink / raw)
  To: Luc Van Oostenryck; +Cc: kbuild-all, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 4931 bytes --]

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

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 35427 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-06-26  2:29 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-18 22:01 drivers/scsi/qedi/qedi_debugfs.c:109:45: sparse: sparse: incorrect type in argument 2 (different address spaces) kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2026-06-26  2:28 kernel test robot
2020-06-27 18:54 kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®