summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2013-08-30 13:58:13 -0700
committerThe Android Automerger <android-build@google.com>2013-08-30 14:13:23 -0700
commitc6480909e5819e7e9eae4b3c9864cc5bef704d21 (patch)
tree14b376e9cb475d3aa24889d5568c79b16abd73f7
parentec0639a58a8c018dd8742762f1c4899e013ffc65 (diff)
downloadcore-c6480909e5819e7e9eae4b3c9864cc5bef704d21.tar.gz
Only check caller when deriving permissions.
Bug: 10547597 Change-Id: Ied909f9047c2567e93dde0f4658d6e4b9ff161ab
-rw-r--r--sdcard/sdcard.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sdcard/sdcard.c b/sdcard/sdcard.c
index 330d555b5..9a1dd17b7 100644
--- a/sdcard/sdcard.c
+++ b/sdcard/sdcard.c
@@ -488,6 +488,11 @@ static void derive_permissions_locked(struct fuse* fuse, struct node *parent,
/* Return if the calling UID holds sdcard_rw. */
static bool get_caller_has_rw_locked(struct fuse* fuse, const struct fuse_in_header *hdr) {
+ /* No additional permissions enforcement */
+ if (fuse->derive == DERIVE_NONE) {
+ return true;
+ }
+
appid_t appid = multiuser_get_app_id(hdr->uid);
return hashmapContainsKey(fuse->appid_with_rw, (void*) appid);
}