On 02/26/2017 10:03 PM, Mike Christie wrote: > The following patches fix a oops that occurs when the initiator > is trying to relogin to a iscsi target. The problem occurs, when > the initiator has sent a command that is stuck running on some > backend, and the initiator has sent TMFs and eventually escalated > to session level recovery. > > During the relogin operation, the target will wait for the stuck > command to complete, and the initiator may time out the relogin > request and drop that tcp connection and retry. The target will > then free the iscsi connection structs from under the np_thread > and we will crash. > > Patches were made over the target-pending for-next branch. > Hey Nick, Were these patches ok? I can rebuild them against your current tree, but before I do that, I was thinking there might be a cleaner alternative you know about. I think my patches are a little ugly. The behavior for the modified functions is now more difficult to follow because you can sleep, not sleep and now interruptible sleep, and you can end up retrying them and going down different branches on the retry. I think the alternative is some sort ref counting based teardown in that login error path. -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html