> -----Original Message----- > From: Nicholas Krause [mailto:xerofo...@gmail.com] > Sent: Thursday, September 3, 2015 10:09 AM > To: jbottom...@odin.com > Cc: h...@suse.de; micha...@cs.wisc.edu; da...@davemloft.net; Anish > Bhatt; Hariprasad S; linux-s...@vger.kernel.org; linux- > ker...@vger.kernel.org > Subject: [PATCH] csiostor:Fix backwards locking in the function > __csio_unreg_rnode > > This fixes backwards locking in the function __csio_unreg_rnode to properly > lock before the call to the function csio_unreg_rnode and not unlock with > spin_unlock_irq as this would not allow the proper protection for concurrent > access on the shared csio_hw structure pointer hw. In addition switch the > locking after the critical region function call to properly unlock instead > with > spin_unlock_irq on the shared structure pointer. > > Signed-off-by: Nicholas Krause <xerofo...@gmail.com> > --- > drivers/scsi/csiostor/csio_rnode.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/scsi/csiostor/csio_rnode.c > b/drivers/scsi/csiostor/csio_rnode.c > index e9c3b04..029a09e 100644 > --- a/drivers/scsi/csiostor/csio_rnode.c > +++ b/drivers/scsi/csiostor/csio_rnode.c > @@ -580,9 +580,9 @@ __csio_unreg_rnode(struct csio_rnode *rn) > ln->last_scan_ntgts--; > } > > - spin_unlock_irq(&hw->lock); > - csio_unreg_rnode(rn); > spin_lock_irq(&hw->lock); > + csio_unreg_rnode(rn); > + spin_unlock_irq(&hw->lock); > > /* Cleanup I/Os that were waiting for rnode to unregister */ > if (cmpl) > -- > 2.1.4
NACK, function is called with lock held. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/