lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Sat, 10 Jul 2021 11:30:36 +0800
From:   kernel test robot <lkp@...el.com>
To:     Bart Van Assche <bvanassche@....org>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: [bvanassche:scsi-remove-done-callback 84/84]
 drivers/scsi/lpfc/lpfc_scsi.c:577:9: error: 'struct scsi_cmnd' has no member
 named 'scsi_done'

tree:   https://github.com/bvanassche/linux scsi-remove-done-callback
head:   d290e7c8d1dea1167275a28e769383e2a46b3a6b
commit: d290e7c8d1dea1167275a28e769383e2a46b3a6b [84/84] Remove the scsi_done member from struct scsi_cmnd
config: arm-buildonly-randconfig-r002-20210709 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
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
        # https://github.com/bvanassche/linux/commit/d290e7c8d1dea1167275a28e769383e2a46b3a6b
        git remote add bvanassche https://github.com/bvanassche/linux
        git fetch --no-tags bvanassche scsi-remove-done-callback
        git checkout d290e7c8d1dea1167275a28e769383e2a46b3a6b
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross O=build_dir ARCH=arm SHELL=/bin/bash drivers/scsi/lpfc/

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

All errors (new ones prefixed by >>):

   drivers/scsi/lpfc/lpfc_scsi.c: In function 'lpfc_sli4_io_xri_aborted':
>> drivers/scsi/lpfc/lpfc_scsi.c:577:9: error: 'struct scsi_cmnd' has no member named 'scsi_done'
     577 |      cmd->scsi_done(cmd);
         |         ^~


vim +577 drivers/scsi/lpfc/lpfc_scsi.c

1151e3ec15c320 James Smart 2011-02-16  506  
da0436e915a5c1 James Smart 2009-05-22  507  /**
c00f62e6c5468e James Smart 2019-08-14  508   * lpfc_sli4_io_xri_aborted - Fast-path process of fcp xri abort
da0436e915a5c1 James Smart 2009-05-22  509   * @phba: pointer to lpfc hba data structure.
da0436e915a5c1 James Smart 2009-05-22  510   * @axri: pointer to the fcp xri abort wcqe structure.
eceee00e415655 Lee Jones   2020-11-02  511   * @idx: index into hdwq
da0436e915a5c1 James Smart 2009-05-22  512   *
da0436e915a5c1 James Smart 2009-05-22  513   * This routine is invoked by the worker thread to process a SLI4 fast-path
c00f62e6c5468e James Smart 2019-08-14  514   * FCP or NVME aborted xri.
da0436e915a5c1 James Smart 2009-05-22  515   **/
da0436e915a5c1 James Smart 2009-05-22  516  void
c00f62e6c5468e James Smart 2019-08-14  517  lpfc_sli4_io_xri_aborted(struct lpfc_hba *phba,
5e5b511d8bfaf7 James Smart 2019-01-28  518  			 struct sli4_wcqe_xri_aborted *axri, int idx)
da0436e915a5c1 James Smart 2009-05-22  519  {
da0436e915a5c1 James Smart 2009-05-22  520  	uint16_t xri = bf_get(lpfc_wcqe_xa_xri, axri);
19ca760979e4be James Smart 2010-11-20  521  	uint16_t rxid = bf_get(lpfc_wcqe_xa_remote_xid, axri);
c490850a094794 James Smart 2019-01-28  522  	struct lpfc_io_buf *psb, *next_psb;
5e5b511d8bfaf7 James Smart 2019-01-28  523  	struct lpfc_sli4_hdw_queue *qp;
da0436e915a5c1 James Smart 2009-05-22  524  	unsigned long iflag = 0;
0f65ff680f9028 James Smart 2010-02-26  525  	struct lpfc_iocbq *iocbq;
0f65ff680f9028 James Smart 2010-02-26  526  	int i;
19ca760979e4be James Smart 2010-11-20  527  	struct lpfc_nodelist *ndlp;
19ca760979e4be James Smart 2010-11-20  528  	int rrq_empty = 0;
895427bd012ce5 James Smart 2017-02-12  529  	struct lpfc_sli_ring *pring = phba->sli4_hba.els_wq->pring;
3e49af9393c6e5 James Smart 2021-05-14  530  	struct scsi_cmnd *cmd;
da0436e915a5c1 James Smart 2009-05-22  531  
895427bd012ce5 James Smart 2017-02-12  532  	if (!(phba->cfg_enable_fc4_type & LPFC_ENABLE_FCP))
895427bd012ce5 James Smart 2017-02-12  533  		return;
5e5b511d8bfaf7 James Smart 2019-01-28  534  
5e5b511d8bfaf7 James Smart 2019-01-28  535  	qp = &phba->sli4_hba.hdwq[idx];
0f65ff680f9028 James Smart 2010-02-26  536  	spin_lock_irqsave(&phba->hbalock, iflag);
c00f62e6c5468e James Smart 2019-08-14  537  	spin_lock(&qp->abts_io_buf_list_lock);
da0436e915a5c1 James Smart 2009-05-22  538  	list_for_each_entry_safe(psb, next_psb,
c00f62e6c5468e James Smart 2019-08-14  539  		&qp->lpfc_abts_io_buf_list, list) {
da0436e915a5c1 James Smart 2009-05-22  540  		if (psb->cur_iocbq.sli4_xritag == xri) {
c00f62e6c5468e James Smart 2019-08-14  541  			list_del_init(&psb->list);
324e1c402069e8 James Smart 2019-10-18  542  			psb->flags &= ~LPFC_SBUF_XBUSY;
da0436e915a5c1 James Smart 2009-05-22  543  			psb->status = IOSTAT_SUCCESS;
c438d0628aa5cf James Smart 2019-12-18  544  			if (psb->cur_iocbq.iocb_flag & LPFC_IO_NVME) {
c00f62e6c5468e James Smart 2019-08-14  545  				qp->abts_nvme_io_bufs--;
c00f62e6c5468e James Smart 2019-08-14  546  				spin_unlock(&qp->abts_io_buf_list_lock);
c00f62e6c5468e James Smart 2019-08-14  547  				spin_unlock_irqrestore(&phba->hbalock, iflag);
c00f62e6c5468e James Smart 2019-08-14  548  				lpfc_sli4_nvme_xri_aborted(phba, axri, psb);
c00f62e6c5468e James Smart 2019-08-14  549  				return;
c00f62e6c5468e James Smart 2019-08-14  550  			}
c00f62e6c5468e James Smart 2019-08-14  551  			qp->abts_scsi_io_bufs--;
c00f62e6c5468e James Smart 2019-08-14  552  			spin_unlock(&qp->abts_io_buf_list_lock);
c00f62e6c5468e James Smart 2019-08-14  553  
1151e3ec15c320 James Smart 2011-02-16  554  			if (psb->rdata && psb->rdata->pnode)
19ca760979e4be James Smart 2010-11-20  555  				ndlp = psb->rdata->pnode;
1151e3ec15c320 James Smart 2011-02-16  556  			else
1151e3ec15c320 James Smart 2011-02-16  557  				ndlp = NULL;
1151e3ec15c320 James Smart 2011-02-16  558  
19ca760979e4be James Smart 2010-11-20  559  			rrq_empty = list_empty(&phba->active_rrq_list);
0f65ff680f9028 James Smart 2010-02-26  560  			spin_unlock_irqrestore(&phba->hbalock, iflag);
cb69f7decc3777 James Smart 2011-12-13  561  			if (ndlp) {
ee0f4fe17b0fda James Smart 2012-05-09  562  				lpfc_set_rrq_active(phba, ndlp,
ee0f4fe17b0fda James Smart 2012-05-09  563  					psb->cur_iocbq.sli4_lxritag, rxid, 1);
cb69f7decc3777 James Smart 2011-12-13  564  				lpfc_sli4_abts_err_handler(phba, ndlp, axri);
cb69f7decc3777 James Smart 2011-12-13  565  			}
3e49af9393c6e5 James Smart 2021-05-14  566  
3e49af9393c6e5 James Smart 2021-05-14  567  			if (phba->cfg_fcp_wait_abts_rsp) {
3e49af9393c6e5 James Smart 2021-05-14  568  				spin_lock_irqsave(&psb->buf_lock, iflag);
3e49af9393c6e5 James Smart 2021-05-14  569  				cmd = psb->pCmd;
3e49af9393c6e5 James Smart 2021-05-14  570  				psb->pCmd = NULL;
3e49af9393c6e5 James Smart 2021-05-14  571  				spin_unlock_irqrestore(&psb->buf_lock, iflag);
3e49af9393c6e5 James Smart 2021-05-14  572  
3e49af9393c6e5 James Smart 2021-05-14  573  				/* The sdev is not guaranteed to be valid post
3e49af9393c6e5 James Smart 2021-05-14  574  				 * scsi_done upcall.
3e49af9393c6e5 James Smart 2021-05-14  575  				 */
3e49af9393c6e5 James Smart 2021-05-14  576  				if (cmd)
3e49af9393c6e5 James Smart 2021-05-14 @577  					cmd->scsi_done(cmd);
3e49af9393c6e5 James Smart 2021-05-14  578  
3e49af9393c6e5 James Smart 2021-05-14  579  				/*
3e49af9393c6e5 James Smart 2021-05-14  580  				 * We expect there is an abort thread waiting
3e49af9393c6e5 James Smart 2021-05-14  581  				 * for command completion wake up the thread.
3e49af9393c6e5 James Smart 2021-05-14  582  				 */
3e49af9393c6e5 James Smart 2021-05-14  583  				spin_lock_irqsave(&psb->buf_lock, iflag);
3e49af9393c6e5 James Smart 2021-05-14  584  				psb->cur_iocbq.iocb_flag &=
3e49af9393c6e5 James Smart 2021-05-14  585  					~LPFC_DRIVER_ABORTED;
3e49af9393c6e5 James Smart 2021-05-14  586  				if (psb->waitq)
3e49af9393c6e5 James Smart 2021-05-14  587  					wake_up(psb->waitq);
3e49af9393c6e5 James Smart 2021-05-14  588  				spin_unlock_irqrestore(&psb->buf_lock, iflag);
3e49af9393c6e5 James Smart 2021-05-14  589  			}
3e49af9393c6e5 James Smart 2021-05-14  590  
da0436e915a5c1 James Smart 2009-05-22  591  			lpfc_release_scsi_buf_s4(phba, psb);
19ca760979e4be James Smart 2010-11-20  592  			if (rrq_empty)
19ca760979e4be James Smart 2010-11-20  593  				lpfc_worker_wake_up(phba);
da0436e915a5c1 James Smart 2009-05-22  594  			return;
da0436e915a5c1 James Smart 2009-05-22  595  		}
da0436e915a5c1 James Smart 2009-05-22  596  	}
c00f62e6c5468e James Smart 2019-08-14  597  	spin_unlock(&qp->abts_io_buf_list_lock);
0f65ff680f9028 James Smart 2010-02-26  598  	for (i = 1; i <= phba->sli.last_iotag; i++) {
0f65ff680f9028 James Smart 2010-02-26  599  		iocbq = phba->sli.iocbq_lookup[i];
0f65ff680f9028 James Smart 2010-02-26  600  
0f65ff680f9028 James Smart 2010-02-26  601  		if (!(iocbq->iocb_flag & LPFC_IO_FCP) ||
0f65ff680f9028 James Smart 2010-02-26  602  		    (iocbq->iocb_flag & LPFC_IO_LIBDFC))
0f65ff680f9028 James Smart 2010-02-26  603  			continue;
0f65ff680f9028 James Smart 2010-02-26  604  		if (iocbq->sli4_xritag != xri)
0f65ff680f9028 James Smart 2010-02-26  605  			continue;
c490850a094794 James Smart 2019-01-28  606  		psb = container_of(iocbq, struct lpfc_io_buf, cur_iocbq);
324e1c402069e8 James Smart 2019-10-18  607  		psb->flags &= ~LPFC_SBUF_XBUSY;
0f65ff680f9028 James Smart 2010-02-26  608  		spin_unlock_irqrestore(&phba->hbalock, iflag);
0e9bb8d79c52ca James Smart 2013-03-01  609  		if (!list_empty(&pring->txq))
589a52d6a97e01 James Smart 2010-07-14  610  			lpfc_worker_wake_up(phba);
0f65ff680f9028 James Smart 2010-02-26  611  		return;
0f65ff680f9028 James Smart 2010-02-26  612  
0f65ff680f9028 James Smart 2010-02-26  613  	}
0f65ff680f9028 James Smart 2010-02-26  614  	spin_unlock_irqrestore(&phba->hbalock, iflag);
da0436e915a5c1 James Smart 2009-05-22  615  }
da0436e915a5c1 James Smart 2009-05-22  616  

:::::: The code at line 577 was first introduced by commit
:::::: 3e49af9393c6e59d579de13333514fc9660a0e92 scsi: lpfc: Add a option to enable interlocked ABTS before job completion

:::::: TO: James Smart <jsmart2021@...il.com>
:::::: CC: Martin K. Petersen <martin.petersen@...cle.com>

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

Download attachment ".config.gz" of type "application/gzip" (32641 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ