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 | |
| 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
| -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 | } |
