diff options
author | Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> | 2010-06-01 11:26:18 +0200 |
---|---|---|
committer | Eric Van Hensbergen <ericvh@gmail.com> | 2010-08-02 21:25:08 +0200 |
commit | 9ffaf63e34821ea60b2e1c8593f968d73728f82b (patch) | |
tree | a2fa40eeb0cc9ae7bb1ac5dfbbd23231746290f8 | |
parent | net/9p: Handle the server returned error properly (diff) | |
download | linux-9ffaf63e34821ea60b2e1c8593f968d73728f82b.tar.xz linux-9ffaf63e34821ea60b2e1c8593f968d73728f82b.zip |
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.c | 3 | ||||
-rw-r--r-- | fs/9p/v9fs.c | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/fs/9p/fid.c b/fs/9p/fid.c index 7317b39b2815..5d6cfcbf73e7 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 f8b86e92cd66..3c492011221c 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; |