summaryrefslogtreecommitdiffstats
path: root/vold
diff options
context:
space:
mode:
authorSan Mehat <san@google.com>2009-05-18 12:59:13 -0700
committerSan Mehat <san@google.com>2009-05-18 12:59:13 -0700
commitb76a63b7bbdf8f51c4e689e241fca6d3a0bc1b1c (patch)
treed229d975475a3dcc39778ea97f91de30e9a5af44 /vold
parent7edc4f9454f1665b73faf0c02543cf350b741a53 (diff)
downloadsystem_core-b76a63b7bbdf8f51c4e689e241fca6d3a0bc1b1c.zip
system_core-b76a63b7bbdf8f51c4e689e241fca6d3a0bc1b1c.tar.gz
system_core-b76a63b7bbdf8f51c4e689e241fca6d3a0bc1b1c.tar.bz2
vold: Change VFAT mount options to enable sdcard write restrictions
Signed-off-by: San Mehat <san@google.com>
Diffstat (limited to 'vold')
-rw-r--r--vold/volmgr_vfat.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/vold/volmgr_vfat.c b/vold/volmgr_vfat.c
index 3c546b4..2b0e1fa 100644
--- a/vold/volmgr_vfat.c
+++ b/vold/volmgr_vfat.c
@@ -118,15 +118,22 @@ int vfat_mount(blkdev_t *dev, volume_t *vol, boolean safe_mode)
flags |= MS_REMOUNT;
}
+ /*
+ * The mount masks restrict access so that:
+ * 1. The 'system' user cannot access the SD card at all -
+ * (protects system_server from grabbing file references)
+ * 2. Group users can RWX
+ * 3. Others can only RX
+ */
rc = mount(devpath, vol->mount_point, "vfat", flags,
- "utf8,uid=1000,gid=1000,fmask=711,dmask=700,shortname=mixed");
+ "utf8,uid=1000,gid=1015,fmask=702,dmask=702,shortname=mixed");
if (rc && errno == EROFS) {
LOGE("vfat_mount(%d:%d, %s): Read only filesystem - retrying mount RO",
dev->major, dev->minor, vol->mount_point);
flags |= MS_RDONLY;
rc = mount(devpath, vol->mount_point, "vfat", flags,
- "utf8,uid=1000,gid=1000,fmask=711,dmask=700,shortname=mixed");
+ "utf8,uid=1000,gid=1015,fmask=702,dmask=702,shortname=mixed");
}
#if VFAT_DEBUG