[CIFS] Fix multiuser mounts so server does not invalidate earlier security contexts
authorSteve French <sfrench@us.ibm.com>
Fri, 20 Feb 2009 05:43:09 +0000 (05:43 +0000)
committerSteve French <sfrench@us.ibm.com>
Sat, 21 Feb 2009 03:37:10 +0000 (03:37 +0000)
commiteca6acf91552a9b2e997cc76339115c95eac0217
tree2c3c3ef60900d6ee0cb8952f2bd4195abfb92663
parentc3b2a0c640bff7df85d79fb4f89674949a267ec2
[CIFS] Fix multiuser mounts so server does not invalidate earlier security contexts

When two different users mount the same Windows 2003 Server share using CIFS,
the first session mounted can be invalidated.  Some servers invalidate the first
smb session when a second similar user (e.g. two users who get mapped by server to "guest")
authenticates an smb session from the same client.

By making sure that we set the 2nd and subsequent vc numbers to nonzero values,
this ensures that we will not have this problem.

Fixes Samba bug 6004, problem description follows:
How to reproduce:

- configure an "open share" (full permissions to Guest user) on Windows 2003
Server (I couldn't reproduce the problem with Samba server or Windows older
than 2003)
- mount the share twice with different users who will be authenticated as guest.

 noacl,noperm,user=john,dir_mode=0700,domain=DOMAIN,rw
 noacl,noperm,user=jeff,dir_mode=0700,domain=DOMAIN,rw

Result:

- just the mount point mounted last is accessible:

Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/CHANGES
fs/cifs/cifsfs.h
fs/cifs/cifsglob.h
fs/cifs/cifssmb.c
fs/cifs/sess.c