Re: [PATCH 02/13] target: split target_submit_cmd_map_sgls
From: kernel test robot <hidden>
Date: 2021-02-09 16:17:47
Also in:
oe-kbuild-all, target-devel, virtualization
Hi Mike, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on mkp-scsi/for-next] [also build test WARNING on vhost/linux-next v5.11-rc7 next-20210125] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Mike-Christie/target-move-t_task_cdb-initialization/20210209-213926 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: h8300-randconfig-s031-20210209 (attached as .config) compiler: h8300-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-215-g0fb77bb6-dirty # https://github.com/0day-ci/linux/commit/3382952197b63f11c166ff293f819ce6ac4d52ae git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Mike-Christie/target-move-t_task_cdb-initialization/20210209-213926 git checkout 3382952197b63f11c166ff293f819ce6ac4d52ae # 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__' ARCH=h8300 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <redacted> "sparse warnings: (new ones prefixed by >>)"
quoted
drivers/target/target_core_transport.c:1695:12: sparse: sparse: incorrect type in assignment (different base types) @@ expected int rc @@ got restricted sense_reason_t @@
drivers/target/target_core_transport.c:1695:12: sparse: expected int rc drivers/target/target_core_transport.c:1695:12: sparse: got restricted sense_reason_t drivers/target/target_core_transport.c:1699:12: sparse: sparse: incorrect type in assignment (different base types) @@ expected int rc @@ got restricted sense_reason_t @@ drivers/target/target_core_transport.c:1699:12: sparse: expected int rc drivers/target/target_core_transport.c:1699:12: sparse: got restricted sense_reason_t
quoted
drivers/target/target_core_transport.c:1736:51: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected restricted sense_reason_t [usertype] @@ got int rc @@
drivers/target/target_core_transport.c:1736:51: sparse: expected restricted sense_reason_t [usertype]
drivers/target/target_core_transport.c:1736:51: sparse: got int rc
vim +1695 drivers/target/target_core_transport.c
1678
1679 /**
1680 * target_submit - perform final initialization and submit cmd to LIO core
1681 * @se_cmd: command descriptor to submit
1682 * @cdb: pointer to SCSI CDB
1683 *
1684 * target_submit_prep must have been called on the cmd, and this must be
1685 * called from process context.
1686 */
1687 static void target_submit(struct se_cmd *se_cmd, unsigned char *cdb)
1688 {
1689 struct scatterlist *sgl = se_cmd->t_data_sg;
1690 unsigned char *buf = NULL;
1691 int rc;
1692
1693 might_sleep();
1694 1695 rc = target_cmd_init_cdb(se_cmd, cdb);
1696 if (rc)
1697 goto fail;
1698
1699 rc = target_cmd_parse_cdb(se_cmd);
1700 if (rc != 0)
1701 goto fail;
1702
1703 if (se_cmd->t_data_nents != 0) {
1704 BUG_ON(!sgl);
1705 /*
1706 * A work-around for tcm_loop as some userspace code via
1707 * scsi-generic do not memset their associated read buffers,
1708 * so go ahead and do that here for type non-data CDBs. Also
1709 * note that this is currently guaranteed to be a single SGL
1710 * for this case by target core in target_setup_cmd_from_cdb()
1711 * -> transport_generic_cmd_sequencer().
1712 */
1713 if (!(se_cmd->se_cmd_flags & SCF_SCSI_DATA_CDB) &&
1714 se_cmd->data_direction == DMA_FROM_DEVICE) {
1715 if (sgl)
1716 buf = kmap(sg_page(sgl)) + sgl->offset;
1717
1718 if (buf) {
1719 memset(buf, 0, sgl->length);
1720 kunmap(sg_page(sgl));
1721 }
1722 }
1723
1724 }
1725
1726 /*
1727 * Check if we need to delay processing because of ALUA
1728 * Active/NonOptimized primary access state..
1729 */
1730 core_alua_check_nonop_delay(se_cmd);
1731
1732 transport_handle_cdb_direct(se_cmd);
1733 return;
1734
1735 fail:1736 transport_generic_request_failure(se_cmd, rc);
1737 } 1738 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Attachments
- .config.gz [application/gzip] 23129 bytes