[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <yq14l8et7jn.fsf@oracle.com>
Date: Thu, 07 Mar 2019 21:38:04 -0500
From: "Martin K. Petersen" <martin.petersen@...cle.com>
To: Lee Duncan <leeman.duncan@...il.com>
Cc: linux-scsi@...r.kernel.org, linux-kernel@...r.kernel.org,
cleech@...hat.com, hare@...e.de, Lee Duncan <lduncan@...e.com>
Subject: Re: [PATCH v2] scsi:libiscsi: Hold back_lock when calling iscsi_complete_task
Lee,
> If there is an error queueing an iscsi command in
> iscsi_queuecommand(), for example if the transport fails to take the
> command in sessuin->tt->xmit_task(), then the error path can call
> iscsi_complete_task() without first aquiring the back_lock as
> required. This can lead to things like ITT pool can get corrupt,
> resulting in duplicate ITTs being sent out.
>
> The solution is to hold the back_lock around iscsi_complete_task()
> calls, and to add a little commenting to help others understand when
> back_lock must be held.
Applied to 5.1/scsi-queue, thanks!
--
Martin K. Petersen Oracle Linux Engineering
Powered by blists - more mailing lists