summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>2010-06-01 09:26:18 (GMT)
committerEric Van Hensbergen <ericvh@gmail.com>2010-08-02 19:25:08 (GMT)
commit9ffaf63e34821ea60b2e1c8593f968d73728f82b (patch)
treea2fa40eeb0cc9ae7bb1ac5dfbbd23231746290f8
parent69d4b4436b54c1a850d475697fda5ca117b09a5e (diff)
downloadlinux-fsl-qoriq-9ffaf63e34821ea60b2e1c8593f968d73728f82b.tar.xz
fs/9p: Pass the correct user credentials during attach
We need to make sure we pass the right uid value during attach. dotl is similar to dotu in this regard. Without this mapped security model on dotl doesn't work Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
-rw-r--r--fs/9p/fid.c3
-rw-r--r--fs/9p/v9fs.c2
2 files changed, 3 insertions, 2 deletions
diff --git a/fs/9p/fid.c b/fs/9p/fid.c
index 7317b39..5d6cfcb 100644
--- a/fs/9p/fid.c
+++ b/fs/9p/fid.c
@@ -152,7 +152,8 @@ struct p9_fid *v9fs_fid_lookup(struct dentry *dentry)
if (access == V9FS_ACCESS_SINGLE)
return ERR_PTR(-EPERM);
- if (v9fs_proto_dotu(v9ses))
+ if (v9fs_proto_dotu(v9ses) ||
+ v9fs_proto_dotl(v9ses))
uname = NULL;
else
uname = v9ses->uname;
diff --git a/fs/9p/v9fs.c b/fs/9p/v9fs.c
index f8b86e9..3c49201 100644
--- a/fs/9p/v9fs.c
+++ b/fs/9p/v9fs.c
@@ -278,7 +278,7 @@ struct p9_fid *v9fs_session_init(struct v9fs_session_info *v9ses,
v9ses->maxdata = v9ses->clnt->msize - P9_IOHDRSZ;
/* for legacy mode, fall back to V9FS_ACCESS_ANY */
- if (!v9fs_proto_dotu(v9ses) &&
+ if (!(v9fs_proto_dotu(v9ses) || v9fs_proto_dotl(v9ses)) &&
((v9ses->flags&V9FS_ACCESS_MASK) == V9FS_ACCESS_USER)) {
v9ses->flags &= ~V9FS_ACCESS_MASK;