      if (fs_ctx->export_flags & V9FS_SM_MAPPED) {
          /* Actual credentials are part of extended attrs */
          uid_t tmp_uid;
-@@ -462,6 +464,16 @@ static ssize_t local_pwritev(FsContext *ctx, V9fsFidOpenState *fs,
+@@ -462,6 +481,11 @@ static ssize_t local_pwritev(FsContext *ctx, V9fsFidOpenState *fs,
      return ret;
  }
  
-+static int maybe_chmod(const char *path, mode_t mode)
++static inline int maybe_chmod(const char *path, mode_t mode)
 +{
-+    static char *store_path = NULL;
-+    if (store_path == NULL)
-+        store_path = getenv("NIX_STORE");
-+    if (strncmp(path, store_path, strlen(store_path)) != 0)
-+        return chmod(path, mode);
-+    return 0;
++    return is_in_store_path(path) ? 0 : chmod(path, mode);
 +}
 +
  static int local_chmod(FsContext *fs_ctx, V9fsPath *fs_path, FsCred *credp)
  {
      char *buffer;
-@@ -477,7 +489,7 @@ static int local_chmod(FsContext *fs_ctx, V9fsPath *fs_path, FsCred *credp)
+@@ -477,7 +501,7 @@ static int local_chmod(FsContext *fs_ctx, V9fsPath *fs_path, FsCred *credp)
      } else if ((fs_ctx->export_flags & V9FS_SM_PASSTHROUGH) ||
                 (fs_ctx->export_flags & V9FS_SM_NONE)) {
          buffer = rpath(fs_ctx, path);

         g_free(buffer);
     }
     return ret;
@@ -621,6 +633,8 @@ static int local_fstat(FsContext *fs_ctx, int fid_type,
     if (err) {
         return err;
     }

     if (fs_ctx->export_flags & V9FS_SM_MAPPED) {
         /* Actual credentials are part of extended attrs */
         uid_t tmp_uid;
@@ -916,7 +942,8 @@ static int local_chown(FsContext *fs_ctx, V9fsPath *fs_path, FsCred *credp)
         (fs_ctx->export_flags & V9FS_SM_PASSTHROUGH) ||
         (fs_ctx->export_flags & V9FS_SM_NONE)) {
         buffer = rpath(fs_ctx, path);
-        ret = lchown(buffer, credp->fc_uid, credp->fc_gid);
+        ret = is_in_store_path(buffer)
+            ? 0 : lchown(buffer, credp->fc_uid, credp->fc_gid);
         g_free(buffer);
     } else if (fs_ctx->export_flags & V9FS_SM_MAPPED) {
         buffer = rpath(fs_ctx, path);
