scsi: target/core: Use kmem_cache_free() instead of kfree()
authorWei Yongjun <weiyongjun1@huawei.com>
Mon, 17 Dec 2018 12:19:53 +0000 (12:19 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 23 Feb 2019 08:07:26 +0000 (09:07 +0100)
commit 8b2db98e814a5ec45e8800fc22ca9000ae0a517b upstream.

memory allocated by kmem_cache_alloc() should be freed using
kmem_cache_free(), not kfree().

Fixes: ad669505c4e9 ("scsi: target/core: Make sure that target_wait_for_sess_cmds() waits long enough")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/target/target_core_transport.c

index 3f7aad4..f1b730b 100644 (file)
@@ -266,7 +266,7 @@ struct se_session *transport_alloc_session(enum target_prot_op sup_prot_ops)
        }
        ret = transport_init_session(se_sess);
        if (ret < 0) {
-               kfree(se_sess);
+               kmem_cache_free(se_sess_cache, se_sess);
                return ERR_PTR(ret);
        }
        se_sess->sup_prot_ops = sup_prot_ops;