From a779f1a343daf10dc1523809ee131eb4b9d76ecf Mon Sep 17 00:00:00 2001 From: Vladislav Bolkhovitin Date: Mon, 1 Oct 2007 08:10:31 +0000 Subject: [PATCH] Fixes possible double release git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@203 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- iscsi-scst/kernel/iscsi.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/iscsi-scst/kernel/iscsi.c b/iscsi-scst/kernel/iscsi.c index 322dc0bdd..3a94d2ddf 100644 --- a/iscsi-scst/kernel/iscsi.c +++ b/iscsi-scst/kernel/iscsi.c @@ -1405,6 +1405,10 @@ static inline int __cmnd_abort(struct iscsi_cmnd *cmnd) { int res = 0; + /* Check to avoid double release */ + if (cmnd->tmfabort) + goto out; + TRACE(TRACE_MGMT, "Aborting cmd %p, scst_cmd %p (scst state %x, " "itt %x, op %x, r2t_len %x, CDB op %x, size to write %u, " "is_unsolicited_data %u, outstanding_r2t %u)", @@ -1430,6 +1434,7 @@ static inline int __cmnd_abort(struct iscsi_cmnd *cmnd) spin_lock_bh(&conn->cmd_list_lock); } +out: return res; }