Messages in this thread | | | Subject | Re: [RFC 1/1] libiscsi: Fix race between iscsi_xmit_task and iscsi_complete_task | From | Anoob Soman <> | Date | Mon, 9 Jul 2018 11:43:14 +0100 |
| |
On 02/07/18 16:00, Anoob Soman wrote: > --- > drivers/scsi/libiscsi.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c > index d609383..aa3be6f 100644 > --- a/drivers/scsi/libiscsi.c > +++ b/drivers/scsi/libiscsi.c > @@ -1449,7 +1449,13 @@ static int iscsi_xmit_task(struct iscsi_conn *conn) > if (test_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx)) > return -ENODATA; > > + spin_lock_bh(&conn->session->back_lock); > + if (conn->task == NULL) { > + spin_unlock_bh(&conn->session->back_lock); > + return -ENODATA; > + } > __iscsi_get_task(task); > + spin_unlock_bh(&conn->session->back_lock); > spin_unlock_bh(&conn->session->frwd_lock); > rc = conn->session->tt->xmit_task(task); > spin_lock_bh(&conn->session->frwd_lock);
Hi Chris, Lee.
Could one of you look at this change and provide some comments ?
Thanks,
-Anoob.
| |