cifs: add separate cred_uid field to sesInfo
authorJeff Layton <jlayton@redhat.com>
Mon, 19 Jul 2010 22:00:17 +0000 (18:00 -0400)
committerSteve French <sfrench@us.ibm.com>
Mon, 2 Aug 2010 12:40:39 +0000 (12:40 +0000)
commit3e4b3e1f68c10510ec8d3076cffc5729b88f8de6
treebee962570f8a54547cfb67550f76874d82981fea
parentf55fdcca6bf1c17e86a270a8c0d81c6677c61222
cifs: add separate cred_uid field to sesInfo

Right now, there's no clear separation between the uid that owns the
credentials used to do the mount and the overriding owner of the files
on that mount.

Add a separate cred_uid field that is set to the real uid
of the mount user. Unlike the linux_uid, the uid= option does not
override this parameter. The parm is sent to cifs.upcall, which can then
preferentially use the creduid= parm instead of the uid= parm for
finding credentials.

This is not the only way to solve this. We could try to do all of this
in kernel instead by having a module parameter that affects what gets
passed in the uid= field of the upcall. That said, we have a lot more
flexibility to change things in userspace so I think it probably makes
sense to do it this way.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/cifs_spnego.c
fs/cifs/cifsglob.h
fs/cifs/connect.c