commit 534284a09b3f58cd92acd0652b7267ee142932ba
tree 15c2b207e88fbab869d1bc1fa4858de3db464f3c
parent 7ca63cb470f23a197f187afe936d4bf806197d6e
author Pete Wyckoff <[EMAIL PROTECTED]> 1163023111 -0600
committer James Bottomley <[EMAIL PROTECTED](none)> 1163119300 +0900

[SCSI] iscsi: always release crypto

Unconditionally free crypto state, as it is always allocated during
TCP connection creation.  Without this, crypto structures leak and
crc32c module refcounts grow as connections are created and
destroyed.

Signed-off-by: Pete Wyckoff <[EMAIL PROTECTED]>
Signed-off-by: Mike Christie <[EMAIL PROTECTED]>
Signed-off-by: James Bottomley <[EMAIL PROTECTED]>

 drivers/scsi/iscsi_tcp.c |   15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/drivers/scsi/iscsi_tcp.c b/drivers/scsi/iscsi_tcp.c
index 0a9dbc5..c0b8b33 100644
--- a/drivers/scsi/iscsi_tcp.c
+++ b/drivers/scsi/iscsi_tcp.c
@@ -1816,21 +1816,14 @@ iscsi_tcp_conn_destroy(struct iscsi_cls_
 {
        struct iscsi_conn *conn = cls_conn->dd_data;
        struct iscsi_tcp_conn *tcp_conn = conn->dd_data;
-       int digest = 0;
-
-       if (conn->hdrdgst_en || conn->datadgst_en)
-               digest = 1;
 
        iscsi_tcp_release_conn(conn);
        iscsi_conn_teardown(cls_conn);
 
-       /* now free tcp_conn */
-       if (digest) {
-               if (tcp_conn->tx_hash.tfm)
-                       crypto_free_hash(tcp_conn->tx_hash.tfm);
-               if (tcp_conn->rx_hash.tfm)
-                       crypto_free_hash(tcp_conn->rx_hash.tfm);
-       }
+       if (tcp_conn->tx_hash.tfm)
+               crypto_free_hash(tcp_conn->tx_hash.tfm);
+       if (tcp_conn->rx_hash.tfm)
+               crypto_free_hash(tcp_conn->rx_hash.tfm);
 
        kfree(tcp_conn);
 }
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to