Hi Tyrel,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   e71ba9452f0b5b2e8dc8aa5445198cd9214a6a62
commit: 2aa0102c6688306548d81a958a6293936904ca75 scsi: ibmvfc: Use correlation 
token to tag commands
date:   7 weeks ago
config: powerpc-randconfig-r001-20210107 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 
5c951623bc8965fa1e89660f2f5f4a2944e4981a)
reproduce (this is a W=1 build):
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install powerpc cross compiling tool for clang build
        # apt-get install binutils-powerpc-linux-gnu
        # 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2aa0102c6688306548d81a958a6293936904ca75
        git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 2aa0102c6688306548d81a958a6293936904ca75
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc 

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

All warnings (new ones prefixed by >>):

>> drivers/scsi/ibmvscsi/ibmvfc.c:1696:25: warning: incompatible pointer to 
>> integer conversion passing 'struct ibmvfc_event *' to parameter of type 
>> '__u64' (aka 'unsigned long long') [-Wint-conversion]
           vfc_cmd->correlation = cpu_to_be64(evt);
                                  ^~~~~~~~~~~~~~~~
   include/linux/byteorder/generic.h:92:21: note: expanded from macro 
'cpu_to_be64'
   #define cpu_to_be64 __cpu_to_be64
                       ^
   include/uapi/linux/byteorder/little_endian.h:37:52: note: expanded from 
macro '__cpu_to_be64'
   #define __cpu_to_be64(x) ((__force __be64)__swab64((x)))
                                             ~~~~~~~~~^~~~
   include/uapi/linux/swab.h:133:12: note: expanded from macro '__swab64'
           __fswab64(x))
                     ^
   include/uapi/linux/swab.h:66:57: note: passing argument to parameter 'val' 
here
   static inline __attribute_const__ __u64 __fswab64(__u64 val)
                                                           ^
   drivers/scsi/ibmvscsi/ibmvfc.c:2375:22: warning: incompatible pointer to 
integer conversion passing 'struct ibmvfc_event *' to parameter of type '__u64' 
(aka 'unsigned long long') [-Wint-conversion]
                   tmf->correlation = cpu_to_be64(evt);
                                      ^~~~~~~~~~~~~~~~
   include/linux/byteorder/generic.h:92:21: note: expanded from macro 
'cpu_to_be64'
   #define cpu_to_be64 __cpu_to_be64
                       ^
   include/uapi/linux/byteorder/little_endian.h:37:52: note: expanded from 
macro '__cpu_to_be64'
   #define __cpu_to_be64(x) ((__force __be64)__swab64((x)))
                                             ~~~~~~~~~^~~~
   include/uapi/linux/swab.h:133:12: note: expanded from macro '__swab64'
           __fswab64(x))
                     ^
   include/uapi/linux/swab.h:66:57: note: passing argument to parameter 'val' 
here
   static inline __attribute_const__ __u64 __fswab64(__u64 val)
                                                           ^
   2 warnings generated.


vim +1696 drivers/scsi/ibmvscsi/ibmvfc.c

  1648  
  1649  /**
  1650   * ibmvfc_queuecommand - The queuecommand function of the scsi template
  1651   * @cmnd:       struct scsi_cmnd to be executed
  1652   * @done:       Callback function to be called when cmnd is completed
  1653   *
  1654   * Returns:
  1655   *      0 on success / other on failure
  1656   **/
  1657  static int ibmvfc_queuecommand_lck(struct scsi_cmnd *cmnd,
  1658                                 void (*done) (struct scsi_cmnd *))
  1659  {
  1660          struct ibmvfc_host *vhost = shost_priv(cmnd->device->host);
  1661          struct fc_rport *rport = 
starget_to_rport(scsi_target(cmnd->device));
  1662          struct ibmvfc_cmd *vfc_cmd;
  1663          struct ibmvfc_event *evt;
  1664          int rc;
  1665  
  1666          if (unlikely((rc = fc_remote_port_chkready(rport))) ||
  1667              unlikely((rc = ibmvfc_host_chkready(vhost)))) {
  1668                  cmnd->result = rc;
  1669                  done(cmnd);
  1670                  return 0;
  1671          }
  1672  
  1673          cmnd->result = (DID_OK << 16);
  1674          evt = ibmvfc_get_event(vhost);
  1675          ibmvfc_init_event(evt, ibmvfc_scsi_done, IBMVFC_CMD_FORMAT);
  1676          evt->cmnd = cmnd;
  1677          cmnd->scsi_done = done;
  1678          vfc_cmd = &evt->iu.cmd;
  1679          memset(vfc_cmd, 0, sizeof(*vfc_cmd));
  1680          vfc_cmd->resp.va = cpu_to_be64(be64_to_cpu(evt->crq.ioba) + 
offsetof(struct ibmvfc_cmd, rsp));
  1681          vfc_cmd->resp.len = cpu_to_be32(sizeof(vfc_cmd->rsp));
  1682          vfc_cmd->frame_type = cpu_to_be32(IBMVFC_SCSI_FCP_TYPE);
  1683          vfc_cmd->payload_len = cpu_to_be32(sizeof(vfc_cmd->iu));
  1684          vfc_cmd->resp_len = cpu_to_be32(sizeof(vfc_cmd->rsp));
  1685          vfc_cmd->cancel_key = cpu_to_be32((unsigned 
long)cmnd->device->hostdata);
  1686          vfc_cmd->tgt_scsi_id = cpu_to_be64(rport->port_id);
  1687          vfc_cmd->iu.xfer_len = cpu_to_be32(scsi_bufflen(cmnd));
  1688          int_to_scsilun(cmnd->device->lun, &vfc_cmd->iu.lun);
  1689          memcpy(vfc_cmd->iu.cdb, cmnd->cmnd, cmnd->cmd_len);
  1690  
  1691          if (cmnd->flags & SCMD_TAGGED) {
  1692                  vfc_cmd->task_tag = cpu_to_be64(cmnd->tag);
  1693                  vfc_cmd->iu.pri_task_attr = IBMVFC_SIMPLE_TASK;
  1694          }
  1695  
> 1696          vfc_cmd->correlation = cpu_to_be64(evt);
  1697  
  1698          if (likely(!(rc = ibmvfc_map_sg_data(cmnd, evt, vfc_cmd, 
vhost->dev))))
  1699                  return ibmvfc_send_event(evt, vhost, 0);
  1700  
  1701          ibmvfc_free_event(evt);
  1702          if (rc == -ENOMEM)
  1703                  return SCSI_MLQUEUE_HOST_BUSY;
  1704  
  1705          if (vhost->log_level > IBMVFC_DEFAULT_LOG_LEVEL)
  1706                  scmd_printk(KERN_ERR, cmnd,
  1707                              "Failed to map DMA buffer for command. 
rc=%d\n", rc);
  1708  
  1709          cmnd->result = DID_ERROR << 16;
  1710          done(cmnd);
  1711          return 0;
  1712  }
  1713  

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

Attachment: .config.gz
Description: application/gzip

Reply via email to