summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/iscsi_tcp.c
diff options
context:
space:
mode:
authorMike Christie <michaelc@cs.wisc.edu>2007-05-30 19:57:23 +0200
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2007-06-02 21:36:46 +0200
commit4e7aba73f9f6e9fe6d3fa10d3fd63cd4882ba3d0 (patch)
tree89adec0555b294e0eed689b769cbc09e396af82a /drivers/scsi/iscsi_tcp.c
parent[SCSI] qla4xxx: add iscsi_transport capps for fw capacilities (diff)
downloadlinux-4e7aba73f9f6e9fe6d3fa10d3fd63cd4882ba3d0.tar.xz
linux-4e7aba73f9f6e9fe6d3fa10d3fd63cd4882ba3d0.zip
[SCSI] iscsi_tcp: fix fd leak
This patch should fix the file descriptor leak problem. A quick look through the kernel shows that users of sockfd_lookup use sockfd_put to release their handle. We were using sock_release which from the comments and code look like it does not release the get() on the file from the lookup. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/iscsi_tcp.c')
-rw-r--r--drivers/scsi/iscsi_tcp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/iscsi_tcp.c b/drivers/scsi/iscsi_tcp.c
index 4e9f0d9a55ea..7ce177e30a53 100644
--- a/drivers/scsi/iscsi_tcp.c
+++ b/drivers/scsi/iscsi_tcp.c
@@ -29,6 +29,7 @@
#include <linux/types.h>
#include <linux/list.h>
#include <linux/inet.h>
+#include <linux/file.h>
#include <linux/blkdev.h>
#include <linux/crypto.h>
#include <linux/delay.h>
@@ -1878,7 +1879,7 @@ iscsi_tcp_release_conn(struct iscsi_conn *conn)
iscsi_conn_restore_callbacks(tcp_conn);
sock_put(tcp_conn->sock->sk);
- sock_release(tcp_conn->sock);
+ sockfd_put(tcp_conn->sock);
tcp_conn->sock = NULL;
conn->recv_lock = NULL;
}