- 21 Oct, 2015 1 commit
-
-
Mateusz Nowak authored
Changing the num_sectors used in ioctl with BLKGETSIZE because the kernel expects an unsigned long type and then changes 64 bits with a 64 bits userspace. This overwrites what's located close to the parameter location if any. Change-Id: I78fd61a1084de2741f39b926aa436462518709a0 Signed-off-by:
Mateusz Nowak <mateusz.nowak@intel.com> Signed-off-by:
Zhiquan Liu <zhiquan.liu@intel.com>
-
- 01 Jul, 2015 1 commit
-
-
Jeff Sharkey authored
Refactor fstrim code to be encapsulated in unique task object, and give it option of benchmarking when finished. Trimming now includes both storage from fstab and adopted private volumes. Cleaner timing stats are logged for each unique volume. Add wakelock during ongoing async move tasks. Push disk sysfs path to framework so it can parse any SD card registers as desired. Bug: 21831325 Change-Id: I76577685f5cae4929c251ad314ffdaeb5eb1c8bf
-
- 26 Jun, 2015 1 commit
-
-
Jeff Sharkey authored
Now that we're treating storage as a runtime permission, we need to grant read/write access without killing the app. This is really tricky, since we had been using GIDs for access control, and they're set in stone once Zygote drops privileges. The only thing left that can change dynamically is the filesystem itself, so let's do that. This means changing the FUSE daemon to present itself as three different views: /mnt/runtime_default/foo - view for apps with no access /mnt/runtime_read/foo - view for apps with read access /mnt/runtime_write/foo - view for apps with write access There is still a single location for all the backing files, and filesystem permissions are derived the same way for each view, but the file modes are masked off differently for each mountpoint. During Zygote fork, it wires up the appropriate storage access into an isolated mount namespace based on the current app permissions. When the app is granted permissions dynamically at runtime, the system asks vold to jump into the existing mount namespace and bind mount the newly granted access model into place. Bug: 21858077 Change-Id: Iade538e4bc7af979fe20095f74416e8a0f165a4a
-
- 22 Jun, 2015 1 commit
-
-
Jeff Sharkey authored
Report both the disk and the partition GUID for private volumes to userspace, and offer to forget the encryption key for a given partition GUID. Bug: 21782268 Change-Id: Ie77a3a58e47bf3563cdb3e4b0edfab1de4d0e6b4
-
- 10 Jun, 2015 1 commit
-
-
Jeff Sharkey authored
vold will eventually use the serial numbers to clean up stale user directories when mounting private storage devices. Bug: 20275572 Change-Id: Ia29cb5da23e969f3087bb5caa5dc8f4e88f07613
-
- 15 May, 2015 1 commit
-
-
Jeff Sharkey authored
Now that we're offering to store private app data on adopted storage devices, the performance of those devices is much more important to overall user experience. To help set user expectations, this change offers to execute a real-world benchmark on a storage device, returning a metric that can be used to compare internal and external storage. The benchmark is generated from the strace-instrumented storage access patterns of typical apps. A typical device completes the benchmark in under two seconds on internal storage, a UHS-3 SD card is even faster (!), but a very slow Class 4 SD card takes about 30 seconds to complete, giving us a clear signal. The measured benchmark numbers are logged along with information about the storage device, such as manufacturer, model, etc. Card serial numbers are scrubbed from output. Bug: 21172095 Change-Id: I9b2713dafdfdfcf5d97bf1bc21841f39409a7e54
-
- 21 Apr, 2015 1 commit
-
-
Jeff Sharkey authored
We eventually should move back to per-disk locks, but use a giant lock to keep development rolling forward. Also move force adoptable flag to framework since, since encrypted devices don't have persisted properties loaded early during boot. Bug: 19993667 Change-Id: Ifa3016ef41b038f8f71fc30bc81596cfd21dcd2a
-
- 18 Apr, 2015 1 commit
-
-
Jeff Sharkey authored
This is cleaner and more direct than the reverse of having the disk publish child volume membership. Rename state constants to match public API. Add state representing bad removal. Make it clear that volume flags are related to mounting. Send new unsupported disk event when we finish scanning an entire disk and have no meaningful volumes. Bug: 19993667 Change-Id: I08a91452ff561171a484d1da5745293ec893aec0
-
- 02 Apr, 2015 1 commit
-
-
Jeff Sharkey authored
Bug: 19993667 Change-Id: I1f6519655c5a366eca25e2329e1bf95d81b3bf8c
-
- 01 Apr, 2015 1 commit
-
-
Jeff Sharkey authored
This adds support for private volumes which is just a filesystem wrapped in a dm-crypt layer. For now we're using the exact same configuration as internal encryption (aes-cbc-essiv:sha256), but we don't store any key material on the removable media. Instead, we store the key on internal storage, and use the GPT partition GUID to identify which key should be used. This means that private external storage is effectively as secure as the internal storage of the device. That is, if the internal storage is encrypted, then our external storage key is also encrypted. When partitioning disks, we now support a "private" mode which has a PrivateVolume partition, and a currently unused 16MB metadata partition reserved for future use. It also supports a "mixed" mode which creates both a PublicVolume and PrivateVolume on the same disk. Mixed mode is currently experimental. For now, just add ext4 support to PrivateVolume; we'll look at f2fs in a future change. Add VolumeBase lifecycle for setting up crypto mappings, and extract blkid logic into shared method. Sprinkle some more "static" around the cryptfs code to improve invariants. Bug: 19993667 Change-Id: Ibd1df6250735b706959a1eb9d9f7219ea85912a0
-
- 31 Mar, 2015 1 commit
-
-
Jeff Sharkey authored
Wire up new Disk and VolumeBase objects and events to start replacing older DirectVolume code. Use filesystem UUID as visible PublicVolume name to be more deterministic. When starting, create DiskSource instances based on fstab, and watch for kernel devices to appear. Turn matching devices into Disk objects, scan for partitions, and create any relevant VolumeBase objects. Broadcast all of these events towards userspace so the framework can decide what to mount. Keep track of the primary VolumeBase, and update the new per-user /storage/self/primary symlink for all started users. Provide a reset command that framework uses to start from a known state when runtime is restarted. When vold is unexpectedly killed, try recovering by unmounting everything under /mnt and /storage before moving forward. Remove UMS sharing support for now, since no current devices support it; MTP is the recommended solution going forward because it offers better multi-user support. Switch killProcessesWithOpenFiles() to directly take signal. Fix one SOCK_CLOEXEC bug, but SELinux says there are more lurking. Bug: 19993667 Change-Id: I2dad1303aa4667ec14c52f774e2a28b3c1c1ff6d
-
- 22 Aug, 2014 1 commit
-
-
Jeff Sharkey authored
Resize is no-op when sector count is unchanged; the caller can't anticipate how vold does its sector calculations. After resizing, we need to mount the container read-write, so allow the caller to request "ro" or "rw" mode. Handle ENOTSUP when trying to fallocate() on some filesystems Bug: 16514385 Change-Id: I0d3a378280d4c36d14f8108ff428102283d583fa
-
- 25 Jul, 2014 1 commit
-
-
JP Abgrall authored
Sometimes when an sdcard is already mounted, some info like uuid and label are not re-broadcast to new listeners. The extra argument to list allows late listeners to catch up by asking volume list to broadcast that info again. Bug: 16253597 Bug: 16306775 Change-Id: Ie7d0c1132c22d307a5b2a0e50075a3716138d00b Signed-off-by:
Benson Huang <benson.huang@mediatek.com> (cherry picked from commit 85f4700f44170b772697e627b3075dcb9137e1b7)
-
- 10 Jun, 2014 1 commit
-
-
Daniel Rosenberg authored
ASECs formatted as ext4 can now be resized using vdc asec resize. Refactored some common code. Requires resize2fs. Change-Id: Ie78bb6015114a7bc4af42b16d1f299322ffc1e2a Signed-off-by:
Daniel Rosenberg <drosen@google.com>
-
- 27 Jan, 2014 2 commits
-
-
Nick Kralevich authored
Make sure asec names only contain alphanumeric, underscores, dots, or dashes. Don't allow double dots. Bug: 12504045 (cherry picked from commit 66962609) Change-Id: Ia9d04f373aa95878b2e81584c4167dc2d4aa0c78
-
Nick Kralevich authored
Make sure asec names only contain alphanumeric, underscores, dots, or dashes. Don't allow double dots. Bug: 12504045 Change-Id: I3dd0350c79327dc91a5a10d5724d85d99814e769
-
- 20 Sep, 2013 1 commit
-
-
Jeff Sharkey authored
Apps without sdcard_r or sdcard_rw need to have someone create package-specific directories on their behalf. If apps have trouble creating on their own, they now delegate through system to have vold create the paths. Requires that the requested path is actually managed by vold. Bug: 10577808 Change-Id: I6835fc8f52240f9de07f89742a426a153e3ca32a
-
- 13 Jun, 2013 1 commit
-
-
Ken Sumrall authored
The new wipe option to the vold format command will invoke BLKDISCARD on the partition before invoking newfs_msdos. This will be used whenever a full wipe of the device is wanted, as this is more secure than just doing newfs_msdos. Bug: 9392982 Change-Id: Ie106f1b9cc70abc61206006d1821641c27c7ccae
-
- 13 Aug, 2012 1 commit
-
-
Kenny Root authored
Any ASEC or OBB files were unmounted when USB storage was set to UMS mode. This changes it so only ASEC files on external storage and OBB files mounted from external storage are unmounted. (Cherry-pick of 93ecb38d) Bug: 6948035 Change-Id: Ib60727bd360caa32173797ff5b4e1e21fcf20054
-
- 09 Aug, 2012 1 commit
-
-
Kenny Root authored
Any ASEC or OBB files were unmounted when USB storage was set to UMS mode. This changes it so only ASEC files on external storage and OBB files mounted from external storage are unmounted. Bug: 6948035 Change-Id: I91bc09ee5b792970b0eef895f6886f3ffad00e8f
-
- 15 Jun, 2012 2 commits
-
-
Ken Sumrall authored
Now that forward locked apps are stored on /data as asec image files that are mounted, they need to be unmounted before /data can be unmounted so it can be encrypted. Change-Id: I7c87deb52aaed21c8ad8ce8aceb7c15c2338620a
-
Ken Sumrall authored
Now that forward locked apps are stored on /data as asec image files that are mounted, they need to be unmounted before /data can be unmounted so it can be encrypted. Change-Id: I7c87deb52aaed21c8ad8ce8aceb7c15c2338620a
-
- 25 Apr, 2012 1 commit
-
-
Kenny Root authored
Now forward locked applications will be in ASEC containers both internal to the system and externally. This change adds support for putting applications in ext4-based ASECs. Change-Id: I8d6765b72dd2606e429c067b47a2dbcaa8bef37d
-
- 01 Sep, 2011 1 commit
-
-
Ken Sumrall authored
Add the force_and_revert option to the unmount command which will force the unmount, and revert a crypto mapping. This is used during factory reset so that when the internal sdcard volume is formatted, it formats the raw device, not the encrypted mapping. Change-Id: I36b6ff9bb54863b121de635472a303bf4a2334a9
-
- 11 Jul, 2011 1 commit
-
-
Ken Sumrall authored
Mounting was already not allowed, but also unshare before starting encryption, and don't allow sharing or formatting to be initiated during encrytion. Change-Id: Ida188d81f025739ba4dd90492b3e66088735991e
-
- 27 Jun, 2011 1 commit
-
-
Dianne Hackborn authored
Change-Id: Ife15628ed6e2493c9e85a2ade6d59a194fdddde5
-
- 14 Jun, 2011 1 commit
-
-
Ken Sumrall authored
It is not a failure if the SD card is not mounted. Change-Id: If954f77c55ac124b9b7b39c89ffbafb4e5ea9e98
-
- 07 Jun, 2011 1 commit
-
-
Mike Lockwood authored
Change-Id: I8ac8900b3135f03b7717540b825ff6df76f31c0b Signed-off-by:
Mike Lockwood <lockwood@android.com>
-
- 02 Jun, 2011 1 commit
-
-
Ken Sumrall authored
Add support for keeping the keys in a separate file on another partition, for devices with no space reserved for a footer after the userdata filesystem. Add support for encrypting the volumes managed by vold, if they meet certain criteria, namely being marked as nonremovable and encryptable in vold.fstab. A bit of trickiness is required to keep vold happy. Change-Id: Idf0611f74b56c1026c45742ca82e0c26e58828fe
-
- 28 Oct, 2010 1 commit
-
-
Mike Lockwood authored
Improves UI responsiveness when copying large amount of data to the device. BUG: 3131847 Change-Id: I4aa5ade7e2cd7e5110c8f0f7ee43bdc57577e11d Signed-off-by:
Mike Lockwood <lockwood@google.com>
-
- 26 Sep, 2010 1 commit
-
-
Kenny Root authored
OBB and ASEC are tracked in the same active container list, but when it comes time to unmount everything, it was trying to unmount the OBBs according to ASEC rules. This led to the OBB not being unmounted and the volume unmount failing. Change-Id: I12c1d4d387b8022185d552b63edd61a50b9c0fc3
-
- 15 Jul, 2010 1 commit
-
-
Kenny Root authored
* Rename all functions dealing with OBB files to mention Obb * Add 'path' and 'list' functionality to OBB commands * Store hashed filename in loop's lo_crypt_name and keep lo_file_name for the real source filename. That way we can recover it later with an ioctl call. Change-Id: I29e468265988bfb931d981532d86d7be7b3adfc8
-
- 07 Jul, 2010 1 commit
-
-
Kenny Root authored
Allow the mounting of OBB filesystem images if they're encrypted with twofish and in FAT filesystem format. Change-Id: I54804e598f46b1f3a784ffe517ebd9d7626de7aa
-
- 28 Jun, 2010 1 commit
-
-
Mike Lockwood authored
The usb_mass_storage switch no longer exists in our 2.6.35 kernel. Instead we will consider mass storage to be available if both USB is connected and the USB mass storage function is enable. Change-Id: I730d1b3cb3cac664fc2abcdc36cd39856a08404a Signed-off-by:
Mike Lockwood <lockwood@android.com>
-
- 21 Jun, 2010 1 commit
-
-
Kenny Root authored
Hash was printed using snprintf(), but we can just write yet another hex conversion utility! Change-Id: I04f1992deaf5bf1b3e2751c8f07072f8ed6660e9
-
- 15 Apr, 2010 1 commit
-
-
San Mehat authored
Fixes bug: http://b/issue?id=2567572 Note: The framework will still likely restart since the system_server is holding references to assets on the card which are mmaped, but at least now storage will be available when a new card is re-inserted. Change-Id: I4e195c0c666426b93da47198fa826a6f58d855a9 Signed-off-by:
San Mehat <san@google.com>
-
- 15 Mar, 2010 1 commit
-
-
San Mehat authored
Change-Id: Iaeb5d3334ec22ed31da9734bb8d7cd17e6a40eaf Signed-off-by:
San Mehat <san@google.com>
-
- 14 Mar, 2010 1 commit
-
-
San Mehat authored
- Fix issue where container-names > 64 bytes were getting truncated in the kernel. lo_name is only 64 bytes in length, so we now hash the container id via md5 - Add 'dump' command to dump loop and devicemapper status - Add 'debug' command to enable more detailed logging at runtime - Log vold IPC arguments (minus encryption keys) - Fix premature return from Loop::lookupActive() and friends Change-Id: I0e833261a445ce9dc1a8187e5501d27daba1ca76 Signed-off-by:
San Mehat <san@google.com>
-
- 18 Feb, 2010 1 commit
-
-
San Mehat authored
Signed-off-by:
San Mehat <san@google.com>
-
- 02 Feb, 2010 1 commit
-
-
San Mehat authored
Signed-off-by:
San Mehat <san@google.com>
-