This is an automated email from the ASF dual-hosted git repository.

linguini1 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit 74ee57508f0d2bc3ca3ff89762488719951e75f9
Author: Marco Casaroli <[email protected]>
AuthorDate: Mon Oct 12 18:35:17 2026 +0200

    fs/v9fs: Send the mode bits, not open flags, in Tsetattr.
    
    v9fs_client_chstat() converted st_mode with v9fs_map_open_flags(),
    which maps the O_* flags of open().  chmod() on a v9fs file set a
    wrong mode: 755 gave 701, 644 gave 600 and 777 gave 700.
    
    Send the permission bits of st_mode.
    
    Assisted-by: Claude Code:claude-opus-5-5
    Signed-off-by: Marco Casaroli <[email protected]>
---
 fs/v9fs/client.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/v9fs/client.c b/fs/v9fs/client.c
index 5ea197f5eb7..44923caae6a 100644
--- a/fs/v9fs/client.c
+++ b/fs/v9fs/client.c
@@ -942,7 +942,7 @@ int v9fs_client_chstat(FAR struct v9fs_client_s *client, 
uint32_t fid,
 
   request.fid = fid;
   request.valid = v9fs_map_setattr_flags(flags);
-  request.mode = v9fs_map_open_flags(buf->st_mode);
+  request.mode = buf->st_mode & 07777;
   request.uid = buf->st_uid;
   request.gid = buf->st_gid;
   request.size = buf->st_size;

Reply via email to