Merge tag '9p-6.4-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh...
[linux-2.6-microblaze.git] / net / 9p / client.c
index 2adcb5e..a334026 100644 (file)
@@ -1230,9 +1230,9 @@ int p9_client_open(struct p9_fid *fid, int mode)
                return -EINVAL;
 
        if (p9_is_proto_dotl(clnt))
-               req = p9_client_rpc(clnt, P9_TLOPEN, "dd", fid->fid, mode);
+               req = p9_client_rpc(clnt, P9_TLOPEN, "dd", fid->fid, mode & P9L_MODE_MASK);
        else
-               req = p9_client_rpc(clnt, P9_TOPEN, "db", fid->fid, mode);
+               req = p9_client_rpc(clnt, P9_TOPEN, "db", fid->fid, mode & P9L_MODE_MASK);
        if (IS_ERR(req)) {
                err = PTR_ERR(req);
                goto error;
@@ -1277,7 +1277,7 @@ int p9_client_create_dotl(struct p9_fid *ofid, const char *name, u32 flags,
                return -EINVAL;
 
        req = p9_client_rpc(clnt, P9_TLCREATE, "dsddg", ofid->fid, name, flags,
-                           mode, gid);
+                           mode & P9L_MODE_MASK, gid);
        if (IS_ERR(req)) {
                err = PTR_ERR(req);
                goto error;
@@ -1321,7 +1321,7 @@ int p9_client_fcreate(struct p9_fid *fid, const char *name, u32 perm, int mode,
                return -EINVAL;
 
        req = p9_client_rpc(clnt, P9_TCREATE, "dsdb?s", fid->fid, name, perm,
-                           mode, extension);
+                           mode & P9L_MODE_MASK, extension);
        if (IS_ERR(req)) {
                err = PTR_ERR(req);
                goto error;