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 e57d6355e7c7abfd89def515bec16ac13cfe3b77..15630f5f2553eea5146080ae0d76652d3e6ece15 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);