From a80f0986bb39ae03ba9014bf4974fc26ae48da70 Mon Sep 17 00:00:00 2001
From: Marco Nelissen <marcone@google.com>
Date: Wed, 10 Dec 2014 10:44:20 -0800
Subject: [PATCH] Allow updates for open file descriptors

even if the calling process itself would not be able to open the file.

Bug: 18688419

Change-Id: I640db19f19c1a677735fd0c14b7e2e38977d0f4d
---
 sdcard/sdcard.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/sdcard/sdcard.c b/sdcard/sdcard.c
index 9ba81ff102..d7bcceaef3 100644
--- a/sdcard/sdcard.c
+++ b/sdcard/sdcard.c
@@ -904,7 +904,9 @@ static int handle_setattr(struct fuse* fuse, struct fuse_handler* handler,
     if (!node) {
         return -ENOENT;
     }
-    if (!check_caller_access_to_node(fuse, hdr, node, W_OK, has_rw)) {
+
+    if (!(req->valid & FATTR_FH) &&
+            !check_caller_access_to_node(fuse, hdr, node, W_OK, has_rw)) {
         return -EACCES;
     }
 
-- 
GitLab