Re: [PATCH 01/11] ibmvfc: remove BUG_ON in the case of an empty event pool

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Tyrel,

kernel test robot noticed the following build warnings:

[auto build test WARNING on linus/master]
[also build test WARNING on v6.6-rc2 next-20230918]
[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#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Tyrel-Datwyler/ibmvfc-remove-BUG_ON-in-the-case-of-an-empty-event-pool/20230914-085530
base:   linus/master
patch link:    https://lore.kernel.org/r/20230913230457.2575849-2-tyreld%40linux.ibm.com
patch subject: [PATCH 01/11] ibmvfc: remove BUG_ON in the case of an empty event pool
config: powerpc-allyesconfig (https://download.01.org/0day-ci/archive/20230919/202309190735.oSIVJWbC-lkp@xxxxxxxxx/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230919/202309190735.oSIVJWbC-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202309190735.oSIVJWbC-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

>> drivers/scsi/ibmvscsi/ibmvfc.c:4618:66: warning: variable 'rc' is uninitialized when used here [-Wuninitialized]
    4618 |                 tgt_err(tgt, "Failed to send cancel event for ADISC. rc=%d\n", rc);
         |                                                                                ^~
   drivers/scsi/ibmvscsi/ibmvfc.h:910:57: note: expanded from macro 'tgt_err'
     910 |         dev_err((t)->vhost->dev, "%llX: " fmt, (t)->scsi_id, ##__VA_ARGS__)
         |                                                                ^~~~~~~~~~~
   include/linux/dev_printk.h:144:65: note: expanded from macro 'dev_err'
     144 |         dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
         |                                                                        ^~~~~~~~~~~
   include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap'
     110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
         |                                     ^~~~~~~~~~~
   drivers/scsi/ibmvscsi/ibmvfc.c:4602:8: note: initialize the variable 'rc' to silence this warning
    4602 |         int rc;
         |               ^
         |                = 0
   1 warning generated.


vim +/rc +4618 drivers/scsi/ibmvscsi/ibmvfc.c

  4586	
  4587	/**
  4588	 * ibmvfc_adisc_timeout - Handle an ADISC timeout
  4589	 * @t:		ibmvfc target struct
  4590	 *
  4591	 * If an ADISC times out, send a cancel. If the cancel times
  4592	 * out, reset the CRQ. When the ADISC comes back as cancelled,
  4593	 * log back into the target.
  4594	 **/
  4595	static void ibmvfc_adisc_timeout(struct timer_list *t)
  4596	{
  4597		struct ibmvfc_target *tgt = from_timer(tgt, t, timer);
  4598		struct ibmvfc_host *vhost = tgt->vhost;
  4599		struct ibmvfc_event *evt;
  4600		struct ibmvfc_tmf *tmf;
  4601		unsigned long flags;
  4602		int rc;
  4603	
  4604		tgt_dbg(tgt, "ADISC timeout\n");
  4605		spin_lock_irqsave(vhost->host->host_lock, flags);
  4606		if (vhost->abort_threads >= disc_threads ||
  4607		    tgt->action != IBMVFC_TGT_ACTION_INIT_WAIT ||
  4608		    vhost->state != IBMVFC_INITIALIZING ||
  4609		    vhost->action != IBMVFC_HOST_ACTION_QUERY_TGTS) {
  4610			spin_unlock_irqrestore(vhost->host->host_lock, flags);
  4611			return;
  4612		}
  4613	
  4614		vhost->abort_threads++;
  4615		kref_get(&tgt->kref);
  4616		evt = ibmvfc_get_event(&vhost->crq);
  4617		if (!evt) {
> 4618			tgt_err(tgt, "Failed to send cancel event for ADISC. rc=%d\n", rc);
  4619			vhost->abort_threads--;
  4620			kref_put(&tgt->kref, ibmvfc_release_tgt);
  4621			__ibmvfc_reset_host(vhost);
  4622			spin_unlock_irqrestore(vhost->host->host_lock, flags);
  4623			return;
  4624		}
  4625		ibmvfc_init_event(evt, ibmvfc_tgt_adisc_cancel_done, IBMVFC_MAD_FORMAT);
  4626	
  4627		evt->tgt = tgt;
  4628		tmf = &evt->iu.tmf;
  4629		memset(tmf, 0, sizeof(*tmf));
  4630		if (ibmvfc_check_caps(vhost, IBMVFC_HANDLE_VF_WWPN)) {
  4631			tmf->common.version = cpu_to_be32(2);
  4632			tmf->target_wwpn = cpu_to_be64(tgt->wwpn);
  4633		} else {
  4634			tmf->common.version = cpu_to_be32(1);
  4635		}
  4636		tmf->common.opcode = cpu_to_be32(IBMVFC_TMF_MAD);
  4637		tmf->common.length = cpu_to_be16(sizeof(*tmf));
  4638		tmf->scsi_id = cpu_to_be64(tgt->scsi_id);
  4639		tmf->cancel_key = cpu_to_be32(tgt->cancel_key);
  4640	
  4641		rc = ibmvfc_send_event(evt, vhost, default_timeout);
  4642	
  4643		if (rc) {
  4644			tgt_err(tgt, "Failed to send cancel event for ADISC. rc=%d\n", rc);
  4645			vhost->abort_threads--;
  4646			kref_put(&tgt->kref, ibmvfc_release_tgt);
  4647			__ibmvfc_reset_host(vhost);
  4648		} else
  4649			tgt_dbg(tgt, "Attempting to cancel ADISC\n");
  4650		spin_unlock_irqrestore(vhost->host->host_lock, flags);
  4651	}
  4652	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux