scsi: iscsi: Move pool freeing
authorMike Christie <michael.christie@oracle.com>
Tue, 25 May 2021 18:18:11 +0000 (13:18 -0500)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 2 Jun 2021 05:28:22 +0000 (01:28 -0400)
This doesn't fix any bugs, but it makes more sense to free the pool after
we have removed the session. At that time we know nothing is touching any
of the session fields, because all devices have been removed and scans are
stopped.

Link: https://lore.kernel.org/r/20210525181821.7617-19-michael.christie@oracle.com
Reviewed-by: Lee Duncan <lduncan@suse.com>
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/libiscsi.c

index e57d635..15630f5 100644 (file)
@@ -3001,10 +3001,9 @@ void iscsi_session_teardown(struct iscsi_cls_session *cls_session)
        struct module *owner = cls_session->transport->owner;
        struct Scsi_Host *shost = session->host;
 
-       iscsi_pool_free(&session->cmdpool);
-
        iscsi_remove_session(cls_session);
 
+       iscsi_pool_free(&session->cmdpool);
        kfree(session->password);
        kfree(session->password_in);
        kfree(session->username);