OSDN Git Service

android-x86/system-vold.git
9 years agoam 008c1ac2: am eddf9bd6: Request specific tags from blkid.
Jeff Sharkey [Thu, 13 Aug 2015 00:15:51 +0000 (00:15 +0000)]
am 008c1ac2: am eddf9bd6: Request specific tags from blkid.

* commit '008c1ac225c1ca29f38b57203d82a63f6f85b865':
  Request specific tags from blkid.

9 years agoam eddf9bd6: Request specific tags from blkid.
Jeff Sharkey [Wed, 12 Aug 2015 23:55:26 +0000 (23:55 +0000)]
am eddf9bd6: Request specific tags from blkid.

* commit 'eddf9bd63c1f7e0f9709f7c58a1035fa43338325':
  Request specific tags from blkid.

9 years agoRequest specific tags from blkid.
Jeff Sharkey [Wed, 12 Aug 2015 23:04:35 +0000 (16:04 -0700)]
Request specific tags from blkid.

Otherwise blkid can emit tags like SEC_TYPE which mess with the value
extraction code.

Bug: 23069906
Change-Id: Id2a588ff43a538747d1e44cd8218c96ebd0192c2

9 years agoam 4fc30636: am 1bd078fa: Protect runtime storage mount points.
Jeff Sharkey [Thu, 6 Aug 2015 21:31:57 +0000 (21:31 +0000)]
am 4fc30636: am 1bd078fa: Protect runtime storage mount points.

* commit '4fc30636065aa819a866cfcb3962d55b37db3312':
  Protect runtime storage mount points.

9 years agoam 1bd078fa: Protect runtime storage mount points.
Jeff Sharkey [Thu, 6 Aug 2015 19:41:34 +0000 (19:41 +0000)]
am 1bd078fa: Protect runtime storage mount points.

* commit '1bd078fa7b5ca613cb3e793d67ccd86d2602787d':
  Protect runtime storage mount points.

9 years agoProtect runtime storage mount points.
Jeff Sharkey [Thu, 6 Aug 2015 18:40:00 +0000 (11:40 -0700)]
Protect runtime storage mount points.

We have a bunch of magic that mounts the correct view of storage
access based on the runtime permissions of an app, but we forgot to
protect the real underlying data sources; oops.

This series of changes just bumps the directory heirarchy one level
to give us /mnt/runtime which we can mask off as 0700 to prevent
people from jumping to the exposed internals.

Also add CTS tests to verify that we're protecting access to
internal mount points like this.

Bug: 22964288
Change-Id: I83f09f0423f4993e766273c50389dd29b1c50589

9 years agoam 157ba435: am 8474ee32: Return useful path when not visible.
Jeff Sharkey [Fri, 31 Jul 2015 02:12:10 +0000 (02:12 +0000)]
am 157ba435: am 8474ee32: Return useful path when not visible.

* commit '157ba4356da6d771194f0276ed1fdd69a14b85a5':
  Return useful path when not visible.

9 years agoam 8474ee32: Return useful path when not visible.
Jeff Sharkey [Fri, 31 Jul 2015 01:51:32 +0000 (01:51 +0000)]
am 8474ee32: Return useful path when not visible.

* commit '8474ee323131fdadcc17f09eab25003a7ae934e0':
  Return useful path when not visible.

9 years agoReturn useful path when not visible.
Jeff Sharkey [Thu, 30 Jul 2015 23:54:23 +0000 (16:54 -0700)]
Return useful path when not visible.

This allows apps like ExternalStorageProvider to still read/write
files on transient storage devices which aren't mounted as visible.

Bug: 22545248
Change-Id: Idacb15f2233245a8e1861d9be977535a82b218ec

9 years agoam 4864af92: am d46687ee: Use random data for benchmark instead of zeros.
Jeff Sharkey [Wed, 29 Jul 2015 21:01:57 +0000 (21:01 +0000)]
am 4864af92: am d46687ee: Use random data for benchmark instead of zeros.

* commit '4864af926d1ee6acc5a9853360af3d6b6e8a88ee':
  Use random data for benchmark instead of zeros.

9 years agoam d46687ee: Use random data for benchmark instead of zeros.
Jeff Sharkey [Wed, 29 Jul 2015 20:10:22 +0000 (20:10 +0000)]
am d46687ee: Use random data for benchmark instead of zeros.

* commit 'd46687ee5da7c9847c6188241ccc699d3a0826c2':
  Use random data for benchmark instead of zeros.

9 years agoUse random data for benchmark instead of zeros.
Jeff Sharkey [Wed, 29 Jul 2015 16:14:21 +0000 (09:14 -0700)]
Use random data for benchmark instead of zeros.

If we always write zeros, we're leaving a giant pile of known
plaintext at an almost deterministic location on newly formatted
volumes.  To avoid this, repeat a 64K chunk of random data.

Bug: 22816936
Change-Id: Iedc067a519bd676a93b9d74ea4f9f77c84c8461c

9 years agoam 27f98a12: am 20642ae7: Give secondary users read-only physical cards.
Jeff Sharkey [Wed, 29 Jul 2015 03:20:54 +0000 (03:20 +0000)]
am 27f98a12: am 20642ae7: Give secondary users read-only physical cards.

* commit '27f98a12df1e9513124448d0d7464664d798cc60':
  Give secondary users read-only physical cards.

9 years agoam 20642ae7: Give secondary users read-only physical cards.
Jeff Sharkey [Wed, 29 Jul 2015 01:34:47 +0000 (01:34 +0000)]
am 20642ae7: Give secondary users read-only physical cards.

* commit '20642ae71aa93ec2658d09c92a1ffc3844f5a555':
  Give secondary users read-only physical cards.

9 years agoGive secondary users read-only physical cards.
Jeff Sharkey [Tue, 28 Jul 2015 17:57:29 +0000 (10:57 -0700)]
Give secondary users read-only physical cards.

Long ago, we mounted secondary physical cards as readable by all
users on the device, which enabled the use-case of loading media on
a card and viewing it from all users.

More recently, we started giving write access to these secondary
physical cards, but this created a one-directional channel for
communication across user boundaries; something that CDD disallows.

This change is designed to give us the best of both worlds: the
package-specific directories are writable for the user that mounted
the card, but access to those "Android" directories are blocked for
all other users.  Other users remain able to read content elsewhere
on the card.

Bug: 22787184
Change-Id: I75dbd339f11402ae774c7e4b8f2b15ee216270e8

9 years agoam 78003caf: am 32679a82: Create user directory on emulated storage.
Jeff Sharkey [Fri, 24 Jul 2015 03:45:44 +0000 (03:45 +0000)]
am 78003caf: am 32679a82: Create user directory on emulated storage.

* commit '78003caff32e8220ebd6ca89703916d9297b77b3':
  Create user directory on emulated storage.

9 years agoam 32679a82: Create user directory on emulated storage.
Jeff Sharkey [Thu, 23 Jul 2015 19:12:57 +0000 (19:12 +0000)]
am 32679a82: Create user directory on emulated storage.

* commit '32679a82d9542ec26ea8b4e32d29dd7b02202611':
  Create user directory on emulated storage.

9 years agoCreate user directory on emulated storage.
Jeff Sharkey [Tue, 21 Jul 2015 21:22:01 +0000 (14:22 -0700)]
Create user directory on emulated storage.

When mounting a primary external storage device that is multi-user
aware, ensure that the user-specific directory actually exists before
moving forward.

Bug: 22472026
Change-Id: I33c8eed261a9c0d5acedd5be6133ed9990679d08

9 years agoam 93363482: Evict the key before we delete it.
Paul Crowley [Tue, 14 Jul 2015 15:06:49 +0000 (15:06 +0000)]
am 93363482: Evict the key before we delete it.

* commit '9336348200758d067fed164368636521b4e58621':
  Evict the key before we delete it.

9 years agoam e76d9e6b: Fix erroneous comment in secdiscard.cpp, plus style fixes.
Paul Crowley [Tue, 14 Jul 2015 15:06:49 +0000 (15:06 +0000)]
am e76d9e6b: Fix erroneous comment in secdiscard.cpp, plus style fixes.

* commit 'e76d9e6be65c9af52a0ed722267521256269cc18':
  Fix erroneous comment in secdiscard.cpp, plus style fixes.

9 years agoam cd307b7c: Scrub the key from the disk with BLKSECDISCARD.
Paul Crowley [Tue, 14 Jul 2015 15:06:48 +0000 (15:06 +0000)]
am cd307b7c: Scrub the key from the disk with BLKSECDISCARD.

* commit 'cd307b7c6301593727892d1fa9bb92aadb5fdaca':
  Scrub the key from the disk with BLKSECDISCARD.

9 years agoam 5bd0daf9: Add tool for scrubbing files with BLKSECDISCARD.
Paul Crowley [Tue, 14 Jul 2015 15:06:47 +0000 (15:06 +0000)]
am 5bd0daf9: Add tool for scrubbing files with BLKSECDISCARD.

* commit '5bd0daf926ea8096dc091d7b99ff9e56cc5746aa':
  Add tool for scrubbing files with BLKSECDISCARD.

9 years agoam b33e8873: Add "cryptfs deleteuserkey" command to vold.
Paul Crowley [Tue, 14 Jul 2015 15:06:46 +0000 (15:06 +0000)]
am b33e8873: Add "cryptfs deleteuserkey" command to vold.

* commit 'b33e8873ea78b92e536aa33f48130a91ca150f0c':
  Add "cryptfs deleteuserkey" command to vold.

9 years agoam 95376d61: Add vold commands for setting up per-user encrypted user directories
Paul Crowley [Tue, 14 Jul 2015 15:06:45 +0000 (15:06 +0000)]
am 95376d61: Add vold commands for setting up per-user encrypted user directories

* commit '95376d612c91236c8cd751b9af02c9aa57f4870f':
  Add vold commands for setting up per-user encrypted user directories

9 years agoam f25a35a1: (-s ours) Break key installation into its own function so we can install...
Paul Crowley [Tue, 14 Jul 2015 15:06:45 +0000 (15:06 +0000)]
am f25a35a1: (-s ours) Break key installation into its own function so we can install non-master keys.

* commit 'f25a35a1c98d4fac118ee9abe34d6bbf2d3a2201':
  Break key installation into its own function so we can install non-master keys.

9 years agoEvict the key before we delete it.
Paul Crowley [Tue, 7 Jul 2015 14:17:22 +0000 (15:17 +0100)]
Evict the key before we delete it.

Change-Id: I9eef440a1f406c2c73c859f5ae7cee35f6a36ca4

9 years agoFix erroneous comment in secdiscard.cpp, plus style fixes.
Paul Crowley [Mon, 22 Jun 2015 11:32:26 +0000 (12:32 +0100)]
Fix erroneous comment in secdiscard.cpp, plus style fixes.

Bug: 19706593

(cherry picked from commit 747e1f7a6d0ae43fce33217e6f0215ceeaf44617)

Change-Id: I9a605c736a2fa909cd4999e1e8d022d49a562767

9 years agoScrub the key from the disk with BLKSECDISCARD.
Paul Crowley [Tue, 19 May 2015 16:31:39 +0000 (17:31 +0100)]
Scrub the key from the disk with BLKSECDISCARD.

Bug: 19706593

(cherry-picked from commit 8d0cd7ffd903a753c6bb5c6f33987a7a66621cef)

Change-Id: Ieea73da233fe53767b5adcdb4d49f9bb00fedac1

9 years agoAdd tool for scrubbing files with BLKSECDISCARD.
Paul Crowley [Tue, 19 May 2015 16:31:39 +0000 (17:31 +0100)]
Add tool for scrubbing files with BLKSECDISCARD.

Bug: 19706593

(based on work in commit 8d0cd7ffd903a753c6bb5c6f33987a7a66621cef)

Change-Id: I9699275a63f2d0a110435bd4a725d7dfcce4ed90

9 years agoAdd "cryptfs deleteuserkey" command to vold.
Paul Crowley [Tue, 19 May 2015 11:34:09 +0000 (12:34 +0100)]
Add "cryptfs deleteuserkey" command to vold.

Bug: 19706593

(cherry-picked from commit eebf44563bf9c6f2795442e8d2bc886e4eb3bbbe)

Change-Id: I50dc4c39595c06bf0016d6a490130bbbc25de91b

9 years agoAdd vold commands for setting up per-user encrypted user
Paul Crowley [Wed, 6 May 2015 14:04:43 +0000 (15:04 +0100)]
Add vold commands for setting up per-user encrypted user
directories

Bug: 19704432

(cherry-picked from commit 75a5202d9f65747edabb1dd0ebd50a779d4142c2)

Change-Id: I733e8745ec21f8e53c2cc6d8a98313275db7d897

9 years agoBreak key installation into its own function so we can install
Paul Crowley [Wed, 6 May 2015 12:38:53 +0000 (13:38 +0100)]
Break key installation into its own function so we can install
non-master keys.

Bug: 19704432
(cherry-picked from commit 1da96dc549b86a1c7ec02d7a808a9532cdcb5fe7)

Change-Id: I762e8f6c927db3a337fa8ce6bd428262d9e05c7a

9 years agoam f733ae63: Don\'t break on setting default password
Paul Lawrence [Mon, 13 Jul 2015 18:04:40 +0000 (18:04 +0000)]
am f733ae63: Don\'t break on setting default password

* commit 'f733ae6306b1a6226492015e7f475a17df32f681':
  Don't break on setting default password

9 years agoDon't break on setting default password
Paul Lawrence [Tue, 7 Jul 2015 22:43:14 +0000 (15:43 -0700)]
Don't break on setting default password

Bug: 22329642
Change-Id: I58dac4dba8e65c7015d50ca0c3575f77f550a215

9 years agoam 81f55c6d: Mount emulated volumes as consistent location.
Jeff Sharkey [Wed, 8 Jul 2015 22:52:08 +0000 (22:52 +0000)]
am 81f55c6d: Mount emulated volumes as consistent location.

* commit '81f55c6dc1a14ed68e404fa3a2c244dd343e4990':
  Mount emulated volumes as consistent location.

9 years agoMount emulated volumes as consistent location.
Jeff Sharkey [Tue, 7 Jul 2015 21:37:03 +0000 (14:37 -0700)]
Mount emulated volumes as consistent location.

We really only support a single emulated volume on the device at a
time, either on internal storage, or moved to a private volume.  To
avoid kicking off a giant rescan of all media when moved, keep all
the paths the same when mounted as primary.

Also ensure we have /data/media/0 ready on private volumes.

Bug: 20275423
Change-Id: I0c102f430b865ca7536772b1fae56d8c9660a97a

9 years agoam c86ab6f5: Trim both internal and adopted private storage.
Jeff Sharkey [Thu, 2 Jul 2015 00:58:16 +0000 (00:58 +0000)]
am c86ab6f5: Trim both internal and adopted private storage.

* commit 'c86ab6f538bec63638c168d6c843fe7cf73add3b':
  Trim both internal and adopted private storage.

9 years agoTrim both internal and adopted private storage.
Jeff Sharkey [Fri, 26 Jun 2015 21:02:09 +0000 (14:02 -0700)]
Trim both internal and adopted private storage.

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

9 years agoam c7b5b570: Null-terminate readlink() result, full remount.
Jeff Sharkey [Wed, 1 Jul 2015 00:30:39 +0000 (00:30 +0000)]
am c7b5b570: Null-terminate readlink() result, full remount.

* commit 'c7b5b570bd05ed3bc921b0c2dc346416a52b4e3e':
  Null-terminate readlink() result, full remount.

9 years agoNull-terminate readlink() result, full remount.
Jeff Sharkey [Tue, 30 Jun 2015 22:54:17 +0000 (15:54 -0700)]
Null-terminate readlink() result, full remount.

In order to compare results from readlink() calls, we need to null
terminate the read value, otherwise we can end up doing an infinitely
recursive remount in the root namespace.

When remounting inside a namespace, unmount all existing mounts before
mounting the new storage into place.  This also means we need to mount
the user-specific symlinks back into place.

Skip spinning up the FUSE daemon when not visible, otherwise we get
stuck waiting for a daemon that never shows up.

Bug: 2219251822204412
Change-Id: Icc7db822354ab7ffc47c39cd0611f65edecc32e5

9 years agoam 63123c06: Last ditch check for partition on raw disk.
Jeff Sharkey [Fri, 26 Jun 2015 20:38:18 +0000 (20:38 +0000)]
am 63123c06: Last ditch check for partition on raw disk.

* commit '63123c067a4e709198d9b8d3279c98561f8c990e':
  Last ditch check for partition on raw disk.

9 years agoLast ditch check for partition on raw disk.
Jeff Sharkey [Fri, 26 Jun 2015 18:16:14 +0000 (11:16 -0700)]
Last ditch check for partition on raw disk.

Some storage devices can be formatted as bare partitions, without an
MBR or GPT header.  If we found no partitions, try poking at the raw
disk, and treat it as a public volume if we found a valid filesystem.

Bug: 20503551
Change-Id: I80304e1ad865435321c341b667c0daf2daf4d56c

9 years agoam 66270a21: Let\'s reinvent storage, yet again!
Jeff Sharkey [Fri, 26 Jun 2015 16:05:27 +0000 (16:05 +0000)]
am 66270a21: Let\'s reinvent storage, yet again!

* commit '66270a21df1058434e4d63691221f11ff5387a0f':
  Let's reinvent storage, yet again!

9 years agoLet's reinvent storage, yet again!
Jeff Sharkey [Wed, 24 Jun 2015 18:49:24 +0000 (11:49 -0700)]
Let's reinvent storage, yet again!

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

9 years agoam 5d268fda: Merge "Make sure volume is vfat before fsck\'ing." into mnc-dev
Makoto Onuki [Wed, 24 Jun 2015 21:05:39 +0000 (21:05 +0000)]
am 5d268fda: Merge "Make sure volume is vfat before fsck\'ing." into mnc-dev

* commit '5d268fdac49bd3174a7f0c6dbb042162ae87a695':
  Make sure volume is vfat before fsck'ing.

9 years agoMerge "Make sure volume is vfat before fsck'ing." into mnc-dev
Makoto Onuki [Wed, 24 Jun 2015 20:33:55 +0000 (20:33 +0000)]
Merge "Make sure volume is vfat before fsck'ing." into mnc-dev

9 years agoMake sure volume is vfat before fsck'ing.
Makoto Onuki [Wed, 24 Jun 2015 20:30:45 +0000 (13:30 -0700)]
Make sure volume is vfat before fsck'ing.

Bug 21948137

Change-Id: I6843423fd8809d9e2f352059a810aa17dd83b3e3

9 years agoam 86af3557: Add purpose to vold-generated keymaster1 keys.
Shawn Willden [Wed, 24 Jun 2015 17:13:53 +0000 (17:13 +0000)]
am 86af3557: Add purpose to vold-generated keymaster1 keys.

* commit '86af3557e3dc0f6e4fa2c0d56f840eb4247f9f4f':
  Add purpose to vold-generated keymaster1 keys.

9 years agoAdd purpose to vold-generated keymaster1 keys.
Shawn Willden [Wed, 24 Jun 2015 14:21:54 +0000 (07:21 -0700)]
Add purpose to vold-generated keymaster1 keys.

Also remove the app ID and additional padding and digest options.

Bug: 22009890
Change-Id: Ibff9bbd0e0c11d651d11fac85d4ac907588f1cd2

9 years agoam bc40cc8f: Add method to forget private partition keys.
Jeff Sharkey [Mon, 22 Jun 2015 21:33:51 +0000 (21:33 +0000)]
am bc40cc8f: Add method to forget private partition keys.

* commit 'bc40cc8f07f69e0e26fc41516e2a83f0a8becbe0':
  Add method to forget private partition keys.

9 years agoAdd method to forget private partition keys.
Jeff Sharkey [Thu, 18 Jun 2015 21:25:08 +0000 (14:25 -0700)]
Add method to forget private partition keys.

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

9 years agoam 0417060e: Use correct error code for rate limiting.
Shawn Willden [Sat, 20 Jun 2015 19:32:57 +0000 (19:32 +0000)]
am 0417060e: Use correct error code for rate limiting.

* commit '0417060e8ebfd28171fd0aaef8f4e42d9ddd482e':
  Use correct error code for rate limiting.

9 years agoUse correct error code for rate limiting.
Shawn Willden [Thu, 18 Jun 2015 18:26:59 +0000 (12:26 -0600)]
Use correct error code for rate limiting.

Note that this CL depends on cl 712195, which must be submitted first.

Bug: 21607106
Change-Id: Iafc42d1c8a1145a31ea252b33b404044f92ec62b

9 years agoam da6e899f: Add keymaster1 support to vold.
Shawn Willden [Wed, 17 Jun 2015 21:07:23 +0000 (21:07 +0000)]
am da6e899f: Add keymaster1 support to vold.

* commit 'da6e899f4e1429add2ef023e0cc6b0fcca42c945':
  Add keymaster1 support to vold.

9 years agoAdd keymaster1 support to vold.
Shawn Willden [Wed, 3 Jun 2015 15:40:45 +0000 (09:40 -0600)]
Add keymaster1 support to vold.

Bug: 21607106
Change-Id: I498141b90888d4f0652912413b04519f61886935

9 years agoam b1ef4665: Improve boot time by 0.1s by reducing a polling sleep interval
Paul Lawrence [Thu, 11 Jun 2015 21:10:46 +0000 (21:10 +0000)]
am b1ef4665: Improve boot time by 0.1s by reducing a polling sleep interval

* commit 'b1ef4665e8df4abf0f3f134bf3090415fc834606':
  Improve boot time by 0.1s by reducing a polling sleep interval

9 years agoImprove boot time by 0.1s by reducing a polling sleep interval
Paul Lawrence [Thu, 11 Jun 2015 18:15:29 +0000 (11:15 -0700)]
Improve boot time by 0.1s by reducing a polling sleep interval

Bug: 21516860
Change-Id: I9e28f4d9cc20ec2a7d9e325c02ef85f0ad9b3d60

9 years agoam 210228a0: Merge "Start tracking added users with serial numbers." into mnc-dev
Jeff Sharkey [Wed, 10 Jun 2015 17:05:45 +0000 (17:05 +0000)]
am 210228a0: Merge "Start tracking added users with serial numbers." into mnc-dev

* commit '210228a089cd215bc671b9fb664d869d2c5ad986':
  Start tracking added users with serial numbers.

9 years agoMerge "Start tracking added users with serial numbers." into mnc-dev
Jeff Sharkey [Wed, 10 Jun 2015 16:44:50 +0000 (16:44 +0000)]
Merge "Start tracking added users with serial numbers." into mnc-dev

9 years agoStart tracking added users with serial numbers.
Jeff Sharkey [Wed, 10 Jun 2015 16:42:01 +0000 (09:42 -0700)]
Start tracking added users with serial numbers.

vold will eventually use the serial numbers to clean up stale user
directories when mounting private storage devices.

Bug: 20275572
Change-Id: Ia29cb5da23e969f3087bb5caa5dc8f4e88f07613

9 years agoam 3bd36d5e: Remove hex encoding and password adjusting now that patterns are \'1...
Paul Lawrence [Wed, 10 Jun 2015 16:02:11 +0000 (16:02 +0000)]
am 3bd36d5e: Remove hex encoding and password adjusting now that patterns are \'1\' based

* commit '3bd36d5e5f14dff4dadba88eb27664e495d0e16e':
  Remove hex encoding and password adjusting now that patterns are '1' based

9 years agoRemove hex encoding and password adjusting now that patterns are '1' based
Paul Lawrence [Tue, 9 Jun 2015 20:37:44 +0000 (13:37 -0700)]
Remove hex encoding and password adjusting now that patterns are '1' based

Bug: 21606650
Change-Id: I3486ad394d563135c5171a1d4785f7a27eeea3ae

9 years agoam 34824129: Run restorecon over mounted private volumes.
Jeff Sharkey [Tue, 9 Jun 2015 23:53:35 +0000 (23:53 +0000)]
am 34824129: Run restorecon over mounted private volumes.

* commit '34824129de2c4a8bb0d1cb9011beff2c186a87d0':
  Run restorecon over mounted private volumes.

9 years agoRun restorecon over mounted private volumes.
Jeff Sharkey [Tue, 9 Jun 2015 17:59:17 +0000 (10:59 -0700)]
Run restorecon over mounted private volumes.

This ensures that we have consistent SELinux policy in place before
going any further, and it mirrors the way we restorecon /data when
first mounted.

Bug: 21121357
Change-Id: I2a7e3584ade655fe1fae8916cf54f9eae3a0f99d

9 years agoam d0640f63: Add f2fs support for private volumes.
Jeff Sharkey [Tue, 9 Jun 2015 13:01:36 +0000 (13:01 +0000)]
am d0640f63: Add f2fs support for private volumes.

* commit 'd0640f6358041f7e2657167560b357078db73526':
  Add f2fs support for private volumes.

9 years agoAdd f2fs support for private volumes.
Jeff Sharkey [Fri, 22 May 2015 05:35:42 +0000 (22:35 -0700)]
Add f2fs support for private volumes.

When formatting volumes, pass along fsType string which can be "auto"
to let the volume select the best choice.  For now, private volumes
assume that MMC devices (like SD cards) are best off using f2fs when
both kernel support and tools are present, otherwise fall back to
ext4.  Use blkid when mounting to pick the right set of tools.

Move filesystem utility methods into namespaces and place in separate
directory to be more organized.

Bug: 20275581
Change-Id: Id5f82d8672dda2e9f68c35b075f28232b0b55ed4

9 years agoMerge commit 'd0b4295c' into manualmerge
Paul Lawrence [Thu, 4 Jun 2015 23:01:47 +0000 (16:01 -0700)]
Merge commit 'd0b4295c' into manualmerge

Change-Id: I6d7178edebf50663fa9622b539c8101627a84385

9 years agoMove crypt commands to a different listener in vold
Paul Lawrence [Wed, 3 Jun 2015 21:19:51 +0000 (14:19 -0700)]
Move crypt commands to a different listener in vold

In order to prevent this bug from happening, we must allow vold cryptfs
commands to complete while a long running mount is underway.

While waiting for vold to be changed to a binder interface, we will simply
create two listeners, one for cryptfs and one for everything else.

Bug: 19197175
Change-Id: If74142aa81abd58f718a9de6c9e387f6ea442754

9 years agoam 0628fa25: Improve boot time
Paul Lawrence [Thu, 4 Jun 2015 19:13:24 +0000 (19:13 +0000)]
am 0628fa25: Improve boot time

* commit '0628fa25141261e549f06d1c6f9e9f3d29e2b8f0':
  Improve boot time

9 years agoImprove boot time
Paul Lawrence [Thu, 4 Jun 2015 17:49:25 +0000 (10:49 -0700)]
Improve boot time

Bug: 21516860
Change-Id: I3153c7f9a414a8eeadc0118f0a642ad8e96c81ce

9 years agoam d25e1074: Merge "Don\'t use TEMP_FAILURE_RETRY on close in vold." into mnc-dev
Elliott Hughes [Mon, 1 Jun 2015 16:03:51 +0000 (16:03 +0000)]
am d25e1074: Merge "Don\'t use TEMP_FAILURE_RETRY on close in vold." into mnc-dev

* commit 'd25e10744026e85e86e22ace8ec939611be3f367':
  Don't use TEMP_FAILURE_RETRY on close in vold.

9 years agoam 86c942a2: (-s ours) DO NOT MERGE Delete password as per block encryption
Paul Lawrence [Mon, 1 Jun 2015 16:03:51 +0000 (16:03 +0000)]
am 86c942a2: (-s ours) DO NOT MERGE Delete password as per block encryption

* commit '86c942a2537701a90b88768eab4648c0650dfad1':
  DO NOT MERGE Delete password as per block encryption

9 years agoam 0d9cd9e9: DO NOT MERGE Fix problem that reading/writing crypto footers wasn\'t...
Paul Lawrence [Mon, 1 Jun 2015 15:44:37 +0000 (15:44 +0000)]
am 0d9cd9e9: DO NOT MERGE Fix problem that reading/writing crypto footers wasn\'t identity

* commit '0d9cd9e9cf39e1cdb06565de6c4e11ff244b2a3a':
  DO NOT MERGE Fix problem that reading/writing crypto footers wasn't identity

9 years agoam 2f32cda6: DO NOT MERGE Retry unmounts in ext4 encryption
Paul Lawrence [Mon, 1 Jun 2015 15:44:37 +0000 (15:44 +0000)]
am 2f32cda6: DO NOT MERGE Retry unmounts in ext4 encryption

* commit '2f32cda63bf5c86db880d36029a27c8597fb5e3c':
  DO NOT MERGE Retry unmounts in ext4 encryption

9 years agoam b7f0702e: (-s ours) DO NOT MERGE Use default key permissions for ext4enc
Paul Lawrence [Mon, 1 Jun 2015 15:44:36 +0000 (15:44 +0000)]
am b7f0702e: (-s ours) DO NOT MERGE Use default key permissions for ext4enc

* commit 'b7f0702ea6cc32c58540d596016c2dabd8ba3541':
  DO NOT MERGE Use default key permissions for ext4enc
  DO NOT MERGE Simplify password checking logic

9 years agoam 368d7945: (-s ours) DO NOT MERGE Enable properties in ext4enc
Paul Lawrence [Mon, 1 Jun 2015 15:42:57 +0000 (15:42 +0000)]
am 368d7945: (-s ours) DO NOT MERGE Enable properties in ext4enc

* commit '368d79459e8d30474dd5cbc414623c1e2f78ee98':
  DO NOT MERGE Enable properties in ext4enc

9 years agoam c78c71b1: (-s ours) DO NOT MERGE Check password is correct by checking hash
Paul Lawrence [Mon, 1 Jun 2015 15:38:09 +0000 (15:38 +0000)]
am c78c71b1: (-s ours) DO NOT MERGE Check password is correct by checking hash

* commit 'c78c71b1717613a5be921bbb8ac63c007d4af86a':
  DO NOT MERGE Check password is correct by checking hash

9 years agoam fd7db732: (-s ours) DO NOT MERGE New ext4enc kernel switching from xattrs to ioctl
Paul Lawrence [Mon, 1 Jun 2015 15:28:39 +0000 (15:28 +0000)]
am fd7db732: (-s ours) DO NOT MERGE New ext4enc kernel switching from xattrs to ioctl

* commit 'fd7db732434eb41fda69a353053bcb7aab259529':
  DO NOT MERGE New ext4enc kernel switching from xattrs to ioctl

9 years agoam 731a7a24: (-s ours) DO NOT MERGE Securely encrypt the master key
Paul Lawrence [Mon, 1 Jun 2015 15:28:39 +0000 (15:28 +0000)]
am 731a7a24: (-s ours) DO NOT MERGE Securely encrypt the master key

* commit '731a7a242df6cc3441ac82b4f9521546fac5ac2d':
  DO NOT MERGE Securely encrypt the master key

9 years agoMerge "Don't use TEMP_FAILURE_RETRY on close in vold." into mnc-dev
Elliott Hughes [Fri, 29 May 2015 22:04:26 +0000 (22:04 +0000)]
Merge "Don't use TEMP_FAILURE_RETRY on close in vold." into mnc-dev

9 years agoDO NOT MERGE Delete password as per block encryption
Paul Lawrence [Wed, 6 May 2015 20:53:43 +0000 (13:53 -0700)]
DO NOT MERGE Delete password as per block encryption

(cherry-picked from commit 00f4aade5c172534c16070540d1c6c26d0a78c84)

Bug: 18151196
Change-Id: Iee0f932c61ff4a309dc2861725b24bf976adb4c7

9 years agoDO NOT MERGE Fix problem that reading/writing crypto footers wasn't identity
Paul Lawrence [Tue, 5 May 2015 22:58:27 +0000 (15:58 -0700)]
DO NOT MERGE Fix problem that reading/writing crypto footers wasn't identity

(cherry-picked from commit 75c922f49b593f3203ee59c33d00ccb5b3b66ca8)

Bug: 18151196
Change-Id: Ideef6bcdbccf068a64ed3e042be50c4837a373f8

9 years agoDO NOT MERGE Retry unmounts in ext4 encryption
Paul Lawrence [Tue, 5 May 2015 21:28:25 +0000 (14:28 -0700)]
DO NOT MERGE Retry unmounts in ext4 encryption

(cherry-picked from commit 29b54aab8ee2d08e2129832364f9b719dd17fa4e)

Bug: 18151196
Change-Id: I52ca23b2ce3adcff44bd003d4a12243a0bd6ac34

9 years agoDO NOT MERGE Use default key permissions for ext4enc
Paul Lawrence [Tue, 5 May 2015 18:09:07 +0000 (11:09 -0700)]
DO NOT MERGE Use default key permissions for ext4enc

(cherry-picked from commit 1190a26f6d7dd34bf10ffc7b367b374d5e591146)

As per discussion default permissions are the correct ones.
Note that since we use logon keys, they cannot be read outside
the kernel.

Note also that we limit who can read/write keys in selinux policy.

Bug: 18151196
Change-Id: Icc916f430a70eff22e6b74c20ec361c8f3789c1c

9 years agoDO NOT MERGE Simplify password checking logic
Paul Lawrence [Mon, 4 May 2015 22:48:24 +0000 (15:48 -0700)]
DO NOT MERGE Simplify password checking logic

(cherry-picked from commit aaccfac3442ab48f5f94603c07427cc1bb00e12d)

Bug: 18151196
Change-Id: I07ffde534dee7d1032149cfcbaa1a61c5246d759

9 years agoDO NOT MERGE Enable properties in ext4enc
Paul Lawrence [Wed, 15 Apr 2015 21:12:00 +0000 (14:12 -0700)]
DO NOT MERGE Enable properties in ext4enc

(cherry-picked from 4e7274551c93e1c064648409f52ca430da647050)

Enables OwnerInfo and pattern suppression

Bug: 18151196

Change-Id: I46144e16cb00319deeb5492ab82c67f5dd43d6d3

9 years agoDO NOT MERGE Check password is correct by checking hash
Paul Lawrence [Tue, 14 Apr 2015 22:26:29 +0000 (15:26 -0700)]
DO NOT MERGE Check password is correct by checking hash

(cherry-picked from commit 3ca21e227a2e1ed01138a29f450917290a9d1e6e)

Handle failures gracefully

Change-Id: Ifb6da8c11a86c50fb11964c18cc1be1326461f78

9 years agoDO NOT MERGE New ext4enc kernel switching from xattrs to ioctl
Paul Lawrence [Fri, 10 Apr 2015 14:48:51 +0000 (07:48 -0700)]
DO NOT MERGE New ext4enc kernel switching from xattrs to ioctl

(cherrypicked from commit 5e7f0042318156ef39c1e4641613f3191ea85b4a)

This is one of three changes to enable this functionality:
  https://android-review.googlesource.com/#/c/146259/
  https://android-review.googlesource.com/#/c/146264/
  https://android-review.googlesource.com/#/c/146265/

Bug: 18151196

Change-Id: Iba5146b8be1e15050ae901e08b3aaa26d96dcf7e

9 years agoDO NOT MERGE Securely encrypt the master key
Paul Lawrence [Tue, 28 Apr 2015 22:14:15 +0000 (22:14 +0000)]
DO NOT MERGE Securely encrypt the master key

(cherry-picked from commit 707fd6c7cccc31c0ab0ec1a6ac8b6077c632fc35)

Move all key management into vold
Reuse vold's existing key management through the crypto footer
to manage the device wide keys.

Use ro.crypto.type flag to determine crypto type, which prevents
any issues when running in block encrypted mode, as well as speeding
up boot in block or no encryption.

This is one of four changes to enable this functionality:
  https://android-review.googlesource.com/#/c/148586/
  https://android-review.googlesource.com/#/c/148604/
  https://android-review.googlesource.com/#/c/148606/
  https://android-review.googlesource.com/#/c/148607/

Bug: 18151196

Change-Id: I3c68691717a61b5e1df76423ca0c02baff0dab98

9 years agoDon't use TEMP_FAILURE_RETRY on close in vold.
Elliott Hughes [Fri, 29 May 2015 05:02:14 +0000 (22:02 -0700)]
Don't use TEMP_FAILURE_RETRY on close in vold.

Bug: http://b/20501816
Change-Id: Ia0a3899947582b8dd0e8e185c203d1ad7dad572e

9 years agoam 65427f1a: Offer debug flag to force default primary.
Jeff Sharkey [Wed, 20 May 2015 00:24:56 +0000 (00:24 +0000)]
am 65427f1a: Offer debug flag to force default primary.

* commit '65427f1a805ed2b8ee65a30ecf6ea8b14fe1e02b':
  Offer debug flag to force default primary.

9 years agoOffer debug flag to force default primary.
Jeff Sharkey [Tue, 19 May 2015 22:54:15 +0000 (15:54 -0700)]
Offer debug flag to force default primary.

Useful for transforming a secondary SD card slot into a primary SD
card slot without doing a completely different lunch target.

$ adb shell stop
$ adb shell setprop vold.debug.default_primary 1
$ adb shell setprop ro.vold.primary_physical 1
$ adb shell setprop ctl.restart vold
$ adb shell start

Bug: 21017105
Change-Id: I45aac7ab3bb4c5ac3e0140572844883823fc3e4f

9 years agoam 721e5807: Fully sync filesystem before time measurements.
Jeff Sharkey [Tue, 19 May 2015 22:51:16 +0000 (22:51 +0000)]
am 721e5807: Fully sync filesystem before time measurements.

* commit '721e5807ed28c7630c0359212cdc0544a9918aa1':
  Fully sync filesystem before time measurements.

9 years agoFully sync filesystem before time measurements.
Jeff Sharkey [Tue, 19 May 2015 18:20:48 +0000 (11:20 -0700)]
Fully sync filesystem before time measurements.

Also drop unneeded SCR register logging.

Bug: 21172095
Change-Id: I17c5aae2edc0eb7144ab38701f90a1fd54e119da

9 years agoam 4351c9a0: Merge "Don\'t use TEMP_FAILURE_RETRY on close in vold." into mnc-dev
Elliott Hughes [Sat, 16 May 2015 03:03:46 +0000 (03:03 +0000)]
am 4351c9a0: Merge "Don\'t use TEMP_FAILURE_RETRY on close in vold." into mnc-dev

* commit '4351c9a08be1d95607e2e5d431692198d60b7d94':
  Don't use TEMP_FAILURE_RETRY on close in vold.

9 years agoMerge "Don't use TEMP_FAILURE_RETRY on close in vold." into mnc-dev
Elliott Hughes [Sat, 16 May 2015 02:42:30 +0000 (02:42 +0000)]
Merge "Don't use TEMP_FAILURE_RETRY on close in vold." into mnc-dev

9 years agoDon't use TEMP_FAILURE_RETRY on close in vold.
Elliott Hughes [Sat, 16 May 2015 01:34:24 +0000 (18:34 -0700)]
Don't use TEMP_FAILURE_RETRY on close in vold.

Bug: http://b/20501816
Change-Id: Ieecce9304539c250ed1728252b8c2c09d29afd7f

9 years agoam 5a6bfca1: Initial pass at storage benchmarks.
Jeff Sharkey [Fri, 15 May 2015 22:22:33 +0000 (22:22 +0000)]
am 5a6bfca1: Initial pass at storage benchmarks.

* commit '5a6bfca1638760b87cf64c5ffb48ff3557cc0563':
  Initial pass at storage benchmarks.

9 years agoInitial pass at storage benchmarks.
Jeff Sharkey [Fri, 15 May 2015 03:33:55 +0000 (20:33 -0700)]
Initial pass at storage benchmarks.

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

9 years agoam e44a41a1: Communicate if we have adoptable disks.
Jeff Sharkey [Wed, 13 May 2015 21:19:18 +0000 (21:19 +0000)]
am e44a41a1: Communicate if we have adoptable disks.

* commit 'e44a41a17b5c2d488442d7805b08231f4b327aca':
  Communicate if we have adoptable disks.