Re: [PATCH RESEND] csiostor:Fix locking issues in the function csio_scsim_cleanup_io_lnode

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

 



On 12/29/2015 11:23 AM, Nicholas Krause wrote:
This fixes locking issues in the function csio_scsim_cleanup_io_lnode
by locking around the call to the function csio_csci_gather_active_ios
with the function pair spin_lock_irq/spin_unlock_irq as any function
calling this particular function must do in order to avoid concurrent
threads of execution on the passed structure pointer of type csio_hw
as this structure pointer can be shared across mutliple threads in the
kernel.

Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx>
---
  drivers/scsi/csiostor/csio_scsi.c | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/drivers/scsi/csiostor/csio_scsi.c b/drivers/scsi/csiostor/csio_scsi.c
index 2c4562d..c318855 100644
--- a/drivers/scsi/csiostor/csio_scsi.c
+++ b/drivers/scsi/csiostor/csio_scsi.c
@@ -1327,7 +1327,9 @@ csio_scsim_cleanup_io_lnode(struct csio_scsim *scm, struct csio_lnode *ln)
  	sld.level = CSIO_LEV_LNODE;
  	sld.lnode = ln;
  	INIT_LIST_HEAD(&ln->cmpl_q);
+	spin_lock_irq(&hw->lock);
  	csio_scsi_gather_active_ios(scm, &sld, &ln->cmpl_q);
+	spin_unlock_irq(&hw->lock);

All the callers grab that lock, you've just added a deadlock instead.

Nick, I've said this before and I'll say this again. Stop sending me patches. They are all untested and broken, you are wasting peoples time.

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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