net/9p: fix bug in client create for .L
authorEric Van Hensbergen <ericvh@kernel.org>
Sun, 18 Dec 2022 17:57:27 +0000 (17:57 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Mar 2023 12:31:31 +0000 (13:31 +0100)
[ Upstream commit 3866584a1c56a2bbc8c0981deb4476d0b801969e ]

We are supposed to set fid->mode to reflect the flags
that were used to open the file.  We were actually setting
it to the creation mode which is the default perms of the
file not the flags the file was opened with.

Signed-off-by: Eric Van Hensbergen <ericvh@kernel.org>
Reviewed-by: Dominique Martinet <asmadeus@codewreck.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/9p/client.c

index 08e0c9990af0688b133c40edccc57140a7fbbc80..c4c1e44cd7ca306d94e9507b56fb9e81ced427ce 100644 (file)
@@ -1315,7 +1315,7 @@ int p9_client_create_dotl(struct p9_fid *ofid, const char *name, u32 flags,
                 qid->type, qid->path, qid->version, iounit);
 
        memmove(&ofid->qid, qid, sizeof(struct p9_qid));
-       ofid->mode = mode;
+       ofid->mode = flags;
        ofid->iounit = iounit;
 
 free_and_error: