All of lore.kernel.org
 help / color / mirror / Atom feed
From: Roland Dreier <roland@kernel.org>
To: "Nicholas A. Bellinger" <nab@linux-iscsi.org>
Cc: target-devel@vger.kernel.org, linux-scsi@vger.kernel.org,
	Chad Dupuis <chad.dupuis@qlogic.com>,
	Arun Easi <arun.easi@qlogic.com>
Subject: [PATCH 1/7] qla2xxx: Get rid of redundant qla_tgt_sess.tearing_down
Date: Mon, 16 Jul 2012 11:04:36 -0700	[thread overview]
Message-ID: <1342461882-5848-2-git-send-email-roland@kernel.org> (raw)
In-Reply-To: <1342461882-5848-1-git-send-email-roland@kernel.org>

From: Roland Dreier <roland@purestorage.com>

The only place that sets qla_tgt_sess.tearing_down calls
target_splice_sess_cmd_list() immediately afterwards, without dropping
the lock it holds.  That function sets se_session.sess_tearing_down,
so we can get rid of the qla_target-specific flag, and in the one
place that looks at the qla_tgt_sess.tearing_down flag just test
se_session.sess_tearing_down instead.

Cc: Chad Dupuis <chad.dupuis@qlogic.com>
Cc: Arun Easi <arun.easi@qlogic.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
---
 drivers/scsi/qla2xxx/qla_target.c  |    2 +-
 drivers/scsi/qla2xxx/qla_target.h  |    1 -
 drivers/scsi/qla2xxx/tcm_qla2xxx.c |    1 -
 3 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/scsi/qla2xxx/qla_target.c b/drivers/scsi/qla2xxx/qla_target.c
index 77759c7..87b5a330 100644
--- a/drivers/scsi/qla2xxx/qla_target.c
+++ b/drivers/scsi/qla2xxx/qla_target.c
@@ -2644,7 +2644,7 @@ static void qlt_do_work(struct work_struct *work)
 	sess = ha->tgt.tgt_ops->find_sess_by_s_id(vha,
 	    atio->u.isp24.fcp_hdr.s_id);
 	if (sess) {
-		if (unlikely(sess->tearing_down)) {
+		if (unlikely(sess->se_sess->sess_tearing_down)) {
 			sess = NULL;
 			spin_unlock_irqrestore(&ha->hardware_lock, flags);
 			goto out_term;
diff --git a/drivers/scsi/qla2xxx/qla_target.h b/drivers/scsi/qla2xxx/qla_target.h
index 9f9ef16..07aa265 100644
--- a/drivers/scsi/qla2xxx/qla_target.h
+++ b/drivers/scsi/qla2xxx/qla_target.h
@@ -813,7 +813,6 @@ struct qla_tgt_sess {
 	unsigned int conf_compl_supported:1;
 	unsigned int deleted:1;
 	unsigned int local:1;
-	unsigned int tearing_down:1;
 
 	struct se_session *se_sess;
 	struct scsi_qla_host *vha;
diff --git a/drivers/scsi/qla2xxx/tcm_qla2xxx.c b/drivers/scsi/qla2xxx/tcm_qla2xxx.c
index 6e64314..3cb2b97 100644
--- a/drivers/scsi/qla2xxx/tcm_qla2xxx.c
+++ b/drivers/scsi/qla2xxx/tcm_qla2xxx.c
@@ -466,7 +466,6 @@ static int tcm_qla2xxx_shutdown_session(struct se_session *se_sess)
 	vha = sess->vha;
 
 	spin_lock_irqsave(&vha->hw->hardware_lock, flags);
-	sess->tearing_down = 1;
 	target_splice_sess_cmd_list(se_sess);
 	spin_unlock_irqrestore(&vha->hw->hardware_lock, flags);
 
-- 
1.7.10.4


  reply	other threads:[~2012-07-16 18:04 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-16 18:04 [PATCH 0/7] series to fix qla2xxx use-after-free Roland Dreier
2012-07-16 18:04 ` Roland Dreier [this message]
2012-07-16 22:52   ` [PATCH 1/7] qla2xxx: Get rid of redundant qla_tgt_sess.tearing_down Nicholas A. Bellinger
2012-07-16 18:04 ` [PATCH 2/7] target: Un-export target_get_sess_cmd() Roland Dreier
2012-07-16 22:54   ` Nicholas A. Bellinger
2012-07-16 18:04 ` [PATCH 3/7] sbp-target: Consolidate duplicated error path code in sbp_handle_command() Roland Dreier
2012-07-16 22:55   ` Nicholas A. Bellinger
2012-07-16 18:04 ` [PATCH 4/7] target: Allow for target_submit_cmd() returning errors Roland Dreier
2012-07-16 23:00   ` Nicholas A. Bellinger
2012-07-16 23:05     ` Roland Dreier
2012-07-16 23:37       ` Nicholas A. Bellinger
2012-07-16 18:04 ` [PATCH 5/7] target: Check sess_tearing_down in target_get_sess_cmd() Roland Dreier
2012-07-16 23:08   ` Nicholas A. Bellinger
2012-07-16 23:21     ` Roland Dreier
2012-07-17  1:40       ` Roland Dreier
2012-07-17  1:56         ` Nicholas A. Bellinger
2012-07-17  1:59           ` Nicholas A. Bellinger
2012-07-17 16:34           ` Roland Dreier
2012-07-17 16:39             ` Christoph Hellwig
2012-07-17 19:28               ` Andy Grover
2012-07-17 23:24             ` Nicholas A. Bellinger
2012-07-16 18:04 ` [PATCH 6/7] qla2xxx: Remove racy, now-redundant check of sess_tearing_down Roland Dreier
2012-07-16 23:10   ` Nicholas A. Bellinger
2012-07-16 18:04 ` [PATCH 7/7] target: Remove se_session.sess_wait_list Roland Dreier
2012-07-16 23:15   ` Nicholas A. Bellinger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1342461882-5848-2-git-send-email-roland@kernel.org \
    --to=roland@kernel.org \
    --cc=arun.easi@qlogic.com \
    --cc=chad.dupuis@qlogic.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=nab@linux-iscsi.org \
    --cc=target-devel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.