summaryrefslogtreecommitdiff
path: root/packages/ExternalStorageProvider/src
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2016-10-31 14:33:49 -0600
committerJeff Sharkey <jsharkey@android.com>2016-10-31 14:34:24 -0600
commit3b699d7841ec6de89fa619ec0111e09ce7966833 (patch)
tree7b79b8a5619db77ae3c3b7598ecaa58ed922bf96 /packages/ExternalStorageProvider/src
parent99449eea6cfe174eba269b3cfff06e6533d6314e (diff)
Public volumes belong to a single user.
When a public (vfat) device is inserted, it's strongly associated with the current foreground user, and no other users should be able to access it, since otherwise that would be a cross-user data leak. To use the device under a different user, switch users and then eject/remount the device. Test: verified user isolation of USB drive Bug: 32523490 Change-Id: I590c791996f1fea8d78f625dc942d149f1f41614
Diffstat (limited to 'packages/ExternalStorageProvider/src')
-rw-r--r--packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java3
1 files changed, 2 insertions, 1 deletions
diff --git a/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java b/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java
index 662a1cde53cd..4e6f3d0d01b9 100644
--- a/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java
+++ b/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java
@@ -163,7 +163,8 @@ public class ExternalStorageProvider extends DocumentsProvider {
final VolumeInfo privateVol = mStorageManager.findPrivateForEmulated(volume);
title = mStorageManager.getBestVolumeDescription(privateVol);
}
- } else if (volume.getType() == VolumeInfo.TYPE_PUBLIC) {
+ } else if (volume.getType() == VolumeInfo.TYPE_PUBLIC
+ && volume.getMountUserId() == userId) {
rootId = volume.getFsUuid();
title = mStorageManager.getBestVolumeDescription(volume);
} else {