diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-09-16 15:59:11 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-09-16 15:59:11 -0400 |
commit | 03a7ab083e4d619136d6f07ce70fa9de0bc436fc (patch) | |
tree | a6b54d32e2c43991cd60193843ebef076e38d6d0 /fs | |
parent | 7bb419041bab2c0efa6e78e9e9e3d9c6ebc75fae (diff) | |
parent | 460cf3411b858ad509d5255e0dfaf862a83c0299 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
cifs: fix potential double put of TCP session reference
Diffstat (limited to 'fs')
-rw-r--r-- | fs/cifs/connect.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index 67dad54fbfa1..88c84a38bccb 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c | |||
@@ -1706,9 +1706,6 @@ cifs_get_smb_ses(struct TCP_Server_Info *server, struct smb_vol *volume_info) | |||
1706 | if (ses) { | 1706 | if (ses) { |
1707 | cFYI(1, "Existing smb sess found (status=%d)", ses->status); | 1707 | cFYI(1, "Existing smb sess found (status=%d)", ses->status); |
1708 | 1708 | ||
1709 | /* existing SMB ses has a server reference already */ | ||
1710 | cifs_put_tcp_session(server); | ||
1711 | |||
1712 | mutex_lock(&ses->session_mutex); | 1709 | mutex_lock(&ses->session_mutex); |
1713 | rc = cifs_negotiate_protocol(xid, ses); | 1710 | rc = cifs_negotiate_protocol(xid, ses); |
1714 | if (rc) { | 1711 | if (rc) { |
@@ -1731,6 +1728,9 @@ cifs_get_smb_ses(struct TCP_Server_Info *server, struct smb_vol *volume_info) | |||
1731 | } | 1728 | } |
1732 | } | 1729 | } |
1733 | mutex_unlock(&ses->session_mutex); | 1730 | mutex_unlock(&ses->session_mutex); |
1731 | |||
1732 | /* existing SMB ses has a server reference already */ | ||
1733 | cifs_put_tcp_session(server); | ||
1734 | FreeXid(xid); | 1734 | FreeXid(xid); |
1735 | return ses; | 1735 | return ses; |
1736 | } | 1736 | } |