cifs: correctly handle NULL tcon pointer in CIFSTCon
authorJeff Layton <jlayton@redhat.com>
Sun, 12 Jun 2011 01:17:10 +0000 (21:17 -0400)
committerSteve French <sfrench@us.ibm.com>
Mon, 13 Jun 2011 20:34:34 +0000 (20:34 +0000)
commit8d1bca328b7c17af33bcf966d799c556ecbf370f
tree734c3909bd750f8de39d04ee656eae6d31d2e24a
parent3e715513643f0207c8f3c22010b54954cd697474
cifs: correctly handle NULL tcon pointer in CIFSTCon

Long ago (in commit 00e485b0), I added some code to handle share-level
passwords in CIFSTCon. That code ignored the fact that it's legit to
pass in a NULL tcon pointer when connecting to the IPC$ share on the
server.

This wasn't really a problem until recently as we only called CIFSTCon
this way when the server returned -EREMOTE. With the introduction of
commit c1508ca2 however, it gets called this way on every mount, causing
an oops when share-level security is in effect.

Fix this by simply treating a NULL tcon pointer as if user-level
security were in effect. I'm not aware of any servers that protect the
IPC$ share with a specific password anyway. Also, add a comment to the
top of CIFSTCon to ensure that we don't make the same mistake again.

Cc: <stable@kernel.org>
Reported-by: Martijn Uffing <mp3project@sarijopen.student.utwente.nl>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/connect.c