diff options
author | Steve French <sfrench@us.ibm.com> | 2006-08-15 15:07:18 +0200 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2006-08-15 15:07:18 +0200 |
commit | e466e4876bf39474e15d0572f2204578137ae7f5 (patch) | |
tree | 1cefd7b97eb2d32846cffb5f8a32173e5db65946 /fs/cifs/connect.c | |
parent | [CIFS] Fix oops when negotiating lanman and no password specified (diff) | |
download | linux-e466e4876bf39474e15d0572f2204578137ae7f5.tar.xz linux-e466e4876bf39474e15d0572f2204578137ae7f5.zip |
[CIFS] Fix oops in cifs_close due to unitialized lock sem and list in
new POSIX locking code
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/connect.c')
-rw-r--r-- | fs/cifs/connect.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index b706b4f48b10..5d394c726860 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c @@ -1271,33 +1271,35 @@ find_unc(__be32 new_target_ip_addr, char *uncName, char *userName) read_lock(&GlobalSMBSeslock); list_for_each(tmp, &GlobalTreeConnectionList) { - cFYI(1, ("Next tcon - ")); + cFYI(1, ("Next tcon")); tcon = list_entry(tmp, struct cifsTconInfo, cifsConnectionList); if (tcon->ses) { if (tcon->ses->server) { cFYI(1, - (" old ip addr: %x == new ip %x ?", + ("old ip addr: %x == new ip %x ?", tcon->ses->server->addr.sockAddr.sin_addr. s_addr, new_target_ip_addr)); if (tcon->ses->server->addr.sockAddr.sin_addr. s_addr == new_target_ip_addr) { - /* BB lock tcon and server and tcp session and increment use count here? */ + /* BB lock tcon, server and tcp session and increment use count here? */ /* found a match on the TCP session */ /* BB check if reconnection needed */ - cFYI(1,("Matched ip, old UNC: %s == new: %s ?", + cFYI(1,("IP match, old UNC: %s new: %s", tcon->treeName, uncName)); if (strncmp (tcon->treeName, uncName, MAX_TREE_SIZE) == 0) { cFYI(1, - ("Matched UNC, old user: %s == new: %s ?", + ("and old usr: %s new: %s", tcon->treeName, uncName)); if (strncmp (tcon->ses->userName, userName, MAX_USERNAME_SIZE) == 0) { read_unlock(&GlobalSMBSeslock); - return tcon;/* also matched user (smb session)*/ + /* matched smb session + (user name */ + return tcon; } } } |