> -----Original Message----- > From: Nicholas Krause [mailto:[email protected]] > Sent: Thursday, September 3, 2015 10:09 AM > To: [email protected] > Cc: [email protected]; [email protected]; [email protected]; Anish > Bhatt; Hariprasad S; [email protected]; linux- > [email protected] > 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 <[email protected]> > --- > 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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

