OSDN Git Service

android-x86/system-vold.git
8 years agoUse a longer timeout on the disk encryption keys
Paul Crowley [Wed, 27 Apr 2016 22:53:18 +0000 (22:53 +0000)]
Use a longer timeout on the disk encryption keys
am: b3de337

* commit 'b3de337acd7ad07de1ed30d24fdfd628d1d8590b':
  Use a longer timeout on the disk encryption keys

Change-Id: Ieadec9da13383361ac76bf6b79ecea948965a1d9

8 years agoUse a longer timeout on the disk encryption keys
Paul Crowley [Wed, 27 Apr 2016 19:58:41 +0000 (12:58 -0700)]
Use a longer timeout on the disk encryption keys

Avoid a timeout error by extending the time allowed between getting
the auth token and decrypting the key from five to thirty seconds.

Bug: 28398766
Change-Id: I1dbb9e0e33707e7de4c1720ad1b8e153c77094b2

8 years agoMerge "Unmount public sdcard filesystems before killing the fuse process." into nyc-dev
John Cormie [Mon, 25 Apr 2016 23:57:06 +0000 (23:57 +0000)]
Merge "Unmount public sdcard filesystems before killing the fuse process." into nyc-dev
am: a4330be

* commit 'a4330beb482c3b5decf6a6fc966e5589210130eb':
  Unmount public sdcard filesystems before killing the fuse process.

Change-Id: I294d46bb27fb6d8ac83f1041e849fd366134b6ee

8 years agoMerge "Unmount public sdcard filesystems before killing the fuse process." into nyc-dev
John Cormie [Mon, 25 Apr 2016 23:49:28 +0000 (23:49 +0000)]
Merge "Unmount public sdcard filesystems before killing the fuse process." into nyc-dev

8 years agoMerge "Move vold (and sdcard childs) to foreground cpuset." into nyc-dev
Martijn Coenen [Mon, 25 Apr 2016 18:03:42 +0000 (18:03 +0000)]
Merge "Move vold (and sdcard childs) to foreground cpuset." into nyc-dev
am: 47ff14a

* commit '47ff14ad38ec96fef25b2bbe1b3365fcd97bc8f5':
  Move vold (and sdcard childs) to foreground cpuset.

Change-Id: I2d539472902f0f2ce33bbfe767f93b9bf91856ce

8 years agoMerge "Move vold (and sdcard childs) to foreground cpuset." into nyc-dev
Martijn Coenen [Mon, 25 Apr 2016 17:46:01 +0000 (17:46 +0000)]
Merge "Move vold (and sdcard childs) to foreground cpuset." into nyc-dev

8 years agoUnmount public sdcard filesystems before killing the fuse process.
John Cormie [Mon, 18 Apr 2016 21:23:29 +0000 (14:23 -0700)]
Unmount public sdcard filesystems before killing the fuse process.

Avoids ENOTCONN during eject for sdcard users.

Change-Id: I7b89ccaad4bb7af3639dc0b702168030a2f88366
Bug: 28268676

8 years agoMerge "Don\'t start defaultcrypto twice" into nyc-dev
Paul Lawrence [Tue, 19 Apr 2016 14:47:13 +0000 (14:47 +0000)]
Merge "Don\'t start defaultcrypto twice" into nyc-dev
am: 0264d8f

* commit '0264d8ff7c2d5a2cdb4faaf9a3493103138373dd':
  Don't start defaultcrypto twice

Change-Id: I39951628d41f656901658cd82a56298ef9f663ec

8 years agoMerge "Don't start defaultcrypto twice" into nyc-dev
Paul Lawrence [Tue, 19 Apr 2016 14:44:26 +0000 (14:44 +0000)]
Merge "Don't start defaultcrypto twice" into nyc-dev

8 years agoDon't start defaultcrypto twice
Paul Lawrence [Fri, 15 Apr 2016 22:41:33 +0000 (15:41 -0700)]
Don't start defaultcrypto twice

The old way (using triggers) starts defaultcrypto twice because
queue_property_triggers_action retriggers the action.

Bug: 27452459

Change-Id: I715d5441f8ae0b820b680f6a75f51694c4420992

8 years agoConsistent creation/destruction of user data.
Jeff Sharkey [Mon, 18 Apr 2016 19:59:55 +0000 (19:59 +0000)]
Consistent creation/destruction of user data.
am: be70c9a

* commit 'be70c9ae2251ac8f3bfbbe75146f8c533d64e01b':
  Consistent creation/destruction of user data.

Change-Id: I55f4fe88a8c02d019fa92028e6ad358fc0f75aeb

8 years agoConsistent creation/destruction of user data.
Jeff Sharkey [Fri, 15 Apr 2016 02:45:16 +0000 (20:45 -0600)]
Consistent creation/destruction of user data.

Preparing and destroying users currently needs to be split across
installd, system_server, and vold, since no single party has all the
required SELinux permissions.

Bug: 2789691825861755
Change-Id: Ieec14ccacfc7a3a5ab00df47ace7318feb900c38

8 years agoMove vold (and sdcard childs) to foreground cpuset.
Martijn Coenen [Fri, 15 Apr 2016 12:30:40 +0000 (14:30 +0200)]
Move vold (and sdcard childs) to foreground cpuset.

Bug: 24949295
Change-Id: I7118a374db90ede517a92f72763d624b9a234ea7

8 years agoMerge "vold: write bootloader message directly." into nyc-dev
Yabin Cui [Fri, 8 Apr 2016 21:03:42 +0000 (21:03 +0000)]
Merge "vold: write bootloader message directly." into nyc-dev

8 years agoAdd log flag for verbose AppFuse log for nyc-dev.
Daichi Hirono [Thu, 7 Apr 2016 05:59:32 +0000 (14:59 +0900)]
Add log flag for verbose AppFuse log for nyc-dev.

Change-Id: I60ca596e32f8668ae5895e671d92c4978ede6314
Fixed: 28055420

8 years agovold: write bootloader message directly.
Yabin Cui [Thu, 7 Apr 2016 00:21:38 +0000 (17:21 -0700)]
vold: write bootloader message directly.

Bug: 27176738
Change-Id: I09bfe777e383325809d7ecc2dcb9129fe234053f

8 years agoKill apps using PublicVolume when unmounting.
Jeff Sharkey [Thu, 31 Mar 2016 02:37:28 +0000 (20:37 -0600)]
Kill apps using PublicVolume when unmounting.

Bug: 24863778
Change-Id: I86a482c6de78afe2e09ca91165000e1b10a42058

8 years agoDon't fail if the CE key isn't loaded in destroy_user_key
Paul Crowley [Fri, 25 Mar 2016 22:50:01 +0000 (15:50 -0700)]
Don't fail if the CE key isn't loaded in destroy_user_key

Users don't have to be unlocked to be deleted, so don't worry if we
don't have their key to evict.

Bug: 26847403
Bug: 27441228
Change-Id: Ifd93f620926630aa102a3bb4a5d2d45d34f9b75d

8 years agoSupport Keymaster2 with lots of clever template logic :)
Paul Crowley [Wed, 16 Mar 2016 00:04:39 +0000 (17:04 -0700)]
Support Keymaster2 with lots of clever template logic :)

Bug: 27718275
Change-Id: I0b2aa74f45fd07a121ce0c342b27426a3fe593ce

8 years agoFix some static analyser issues
Paul Lawrence [Fri, 11 Mar 2016 19:02:52 +0000 (11:02 -0800)]
Fix some static analyser issues

Bug: 27099772
Change-Id: Ic96777edf4ea282be2b8f53525226396c01e023c

8 years agoMerge "Make sure encryption type is set on first boot" into nyc-dev
Paul Lawrence [Fri, 11 Mar 2016 01:42:55 +0000 (01:42 +0000)]
Merge "Make sure encryption type is set on first boot" into nyc-dev

8 years agoMerge "Print size as unsigned when sending to framework." into nyc-dev
Jeff Sharkey [Fri, 11 Mar 2016 00:07:25 +0000 (00:07 +0000)]
Merge "Print size as unsigned when sending to framework." into nyc-dev

8 years agoMake sure encryption type is set on first boot
Paul Lawrence [Thu, 10 Mar 2016 23:44:21 +0000 (15:44 -0800)]
Make sure encryption type is set on first boot

Bug: 27599622
Change-Id: I2f38c03941ac8cdba40baf7421132f572866e296

8 years agoPrint size as unsigned when sending to framework.
Jeff Sharkey [Thu, 10 Mar 2016 19:11:09 +0000 (12:11 -0700)]
Print size as unsigned when sending to framework.

Otherwise we might output negative numbers that confuse the rest
of the recovery stack.

Bug: 26007445
Change-Id: Ic99b49360732e5389c6330be065e1222e25b60ca

8 years agoMerge "Support emulator's virtio-blk based SD card" into nyc-dev
Prathmesh Prabhu [Thu, 10 Mar 2016 17:12:59 +0000 (17:12 +0000)]
Merge "Support emulator's virtio-blk based SD card" into nyc-dev

8 years agoMerge "Add information to error message" into nyc-dev
Daniel Rosenberg [Wed, 9 Mar 2016 23:58:12 +0000 (23:58 +0000)]
Merge "Add information to error message" into nyc-dev

8 years agoAdd information to error message
Daniel Rosenberg [Sat, 27 Feb 2016 00:44:36 +0000 (16:44 -0800)]
Add information to error message

Bug: 27452459
Change-Id: I89e813755da0946de4effd827799681df7e12d82

8 years agoRun clang-format over ext4crypt related code
Paul Crowley [Wed, 9 Mar 2016 17:31:37 +0000 (09:31 -0800)]
Run clang-format over ext4crypt related code

The formatting here is inconsistent with Android house style; use
clang-format to bring it back into line.

Change-Id: Id1fe6ff54e9b668ca88c3fc021ae0a5bdd1327eb

8 years agoUse pointers not references for out arguments
Paul Crowley [Wed, 9 Mar 2016 00:08:32 +0000 (16:08 -0800)]
Use pointers not references for out arguments

Google/Android C++ style requires that arguments passed in for writing
should be pointers, not references, so that it's visible in the caller
that they'll be written to.

Bug: 27566014
Change-Id: I5cd55906cc4b2f61c8b97b223786be0b3ce28862

8 years agoRequire the auth token for decryption.
Paul Crowley [Fri, 4 Mar 2016 22:07:05 +0000 (14:07 -0800)]
Require the auth token for decryption.

A bug meant that the auth token wasn't being used; it turns out that
in order to use it we need to do things slightly differently.

Bug: 27496553
Change-Id: I0f0ab77fed31b92a79eba4acf488cb098691b4be

8 years agoFix memory leak in generate_key wrapper. Other fixes.
Paul Crowley [Fri, 4 Mar 2016 21:45:00 +0000 (13:45 -0800)]
Fix memory leak in generate_key wrapper. Other fixes.

- catch errors in looking for the keyring
- static_assert to prevent a buffer overrun
- remove obsolete, misleading comment
- dial down priority of some log messages
- explain why we ignore some errors
- idiomatic C++11

Bug: 27552432
Change-Id: Ic3ee05b41eae45e7c6b571a459b326a483663526

8 years agoSupport emulator's virtio-blk based SD card
Yu Ning [Fri, 8 Jan 2016 09:36:47 +0000 (17:36 +0800)]
Support emulator's virtio-blk based SD card

Currently, vold only supports MMC (for SD cards) and SCSI (for USB
drives) devices. It does not recognize any device whose major number is
not one of those used by MMC and SCSI. Unfortunately, virtio-blk is one
such device. It is used by the new Android emulator (a.k.a. qemu2,
featuring the "ranchu" virtual board) for SD card emulation.

In order to make this virtio-blk based SD card device appear in Android
and appear as an SD card (rather than a USB drive), changes have to be
made to both vold (wherever the device major number is checked) and
ranchu's storage configuration. This CL implements former.

This is a stop-gap solution for emulator in nyc.
A longer term solution in-tune with upstream kernel is in the pipes.

Updated from aosp/master version.

BUG:27431753

Change-Id: I5014edec73be7c5b565d91542464c82cbe58992c
Signed-off-by: Yu Ning <yu.ning@intel.com>
(cherry picked from commit 5b1d1c7dfa13b4dca75213581dc8351b841b76c8)

8 years agoMerge "Use a proper key length for the mode." into nyc-dev
Paul Crowley [Wed, 2 Mar 2016 18:59:58 +0000 (18:59 +0000)]
Merge "Use a proper key length for the mode." into nyc-dev

8 years agoUse a proper key length for the mode.
Paul Crowley [Wed, 2 Mar 2016 17:15:07 +0000 (09:15 -0800)]
Use a proper key length for the mode.

Bug: 27440526
Change-Id: I818450252dcd39f21948fc2e70856659eba5f50f

8 years agoPrepare profile directories only for the internal storage
Calin Juravle [Wed, 2 Mar 2016 18:36:50 +0000 (18:36 +0000)]
Prepare profile directories only for the internal storage

Bug: 27444691
Change-Id: I0d30e8883fe655c90cda47ab167a878764ea0802

8 years agoCreate profile folder for foreign dex markers.
Calin Juravle [Wed, 24 Feb 2016 16:27:19 +0000 (16:27 +0000)]
Create profile folder for foreign dex markers.

This is a special profile folder where apps will leave profile markers
for the dex files they load and don't own. System server will read the
markers and decide if the apks should be fully compiled instead of
profile guide compiled.

Bug: 27334750
Bug: 26080105
Change-Id: Ib18f20cf78a8dbfc465610ec6ceec52699c5420a

8 years agoPrepare user profile folder
Calin Juravle [Wed, 17 Feb 2016 20:14:46 +0000 (20:14 +0000)]
Prepare user profile folder

Bug: 26719109
Bug: 26563023
Change-Id: I4737b7f73df74b2b787a62db2e231f136115b359

8 years agoLog a warning if old creds passed to change_user_key don't work.
Paul Crowley [Wed, 10 Feb 2016 17:56:05 +0000 (17:56 +0000)]
Log a warning if old creds passed to change_user_key don't work.

Bug: 26948053
Change-Id: I8c117bfe5e85e73af72b6ecafea39924f3561c7c

8 years agoAdd scrypt-based password stretching.
Paul Crowley [Wed, 10 Feb 2016 14:02:47 +0000 (14:02 +0000)]
Add scrypt-based password stretching.

Bug: 27056334
Change-Id: Ifa7f776c21c439f89dad7836175fbd045e1c603e

8 years agoMerge "Fix encryption on non-default devices" into nyc-dev
Paul Lawrence [Tue, 9 Feb 2016 19:32:44 +0000 (19:32 +0000)]
Merge "Fix encryption on non-default devices" into nyc-dev

8 years agoFix encryption on non-default devices
Paul Lawrence [Tue, 9 Feb 2016 19:24:28 +0000 (11:24 -0800)]
Fix encryption on non-default devices

Bug: 27061863
Change-Id: Id998bb4534f657079e95718ef52af3f23100fb10

8 years agoPrefer bool returns to int throughout
Paul Crowley [Tue, 9 Feb 2016 10:04:39 +0000 (10:04 +0000)]
Prefer bool returns to int throughout

Change-Id: Ib3592b598ee07bc71a6f9507570bf4623c1cdd6a

8 years agoRefactor now that global DE has been reworked
Paul Crowley [Tue, 9 Feb 2016 09:50:32 +0000 (09:50 +0000)]
Refactor now that global DE has been reworked

Change-Id: I4d6156332cfc847e25e7c8863fd6a50fa325fb87

8 years agoFix some "false" returns to be "-1" where appropriate in e4crypt_enable
Paul Crowley [Tue, 9 Feb 2016 09:30:23 +0000 (09:30 +0000)]
Fix some "false" returns to be "-1" where appropriate in e4crypt_enable

Also fix a PLOG that should be a LOG.

Change-Id: Ic5ae288c37b6e236172f9e38349c2d0d530bfd4d

8 years agoe4crypt_unlock_user_key no longer likes nullptr.
Jeff Sharkey [Tue, 9 Feb 2016 01:10:34 +0000 (18:10 -0700)]
e4crypt_unlock_user_key no longer likes nullptr.

Bug: 27075797
Change-Id: I835d17d02ea50a88ef0a5322a30e04f3d0237019

8 years agoAdd new argument to unlock_user_key, fixing merge-caused error.
Paul Crowley [Mon, 8 Feb 2016 22:40:34 +0000 (22:40 +0000)]
Add new argument to unlock_user_key, fixing merge-caused error.

Change-Id: Ic51f375e500cd61bda926e3b039126a840ed89f0

8 years agoMerge "Password security for FBE disk encryption keys" into nyc-dev
Paul Crowley [Mon, 8 Feb 2016 21:45:46 +0000 (21:45 +0000)]
Merge "Password security for FBE disk encryption keys" into nyc-dev

8 years agoPassword security for FBE disk encryption keys
Paul Crowley [Mon, 8 Feb 2016 15:55:41 +0000 (15:55 +0000)]
Password security for FBE disk encryption keys

Added a new call change_user_key which changes the way that disk
encryption keys are protected; a key can now be protected with a
combination of an auth token and a secret which is a hashed password.
Both of these are passed to unlock_user_key.

This change introduces a security bug, b/26948053, which must be fixed
before we ship.

Bug: 22950892
Change-Id: Iac1e45bb6f86f2af5c472c70a0fe3228b02115bf

8 years agoEmulation fixes: mics dirs, recover after disable.
Jeff Sharkey [Mon, 8 Feb 2016 19:21:42 +0000 (12:21 -0700)]
Emulation fixes: mics dirs, recover after disable.

Add new misc directories to list of paths that we lock/unlock in
emulation mode.  When booting a device without native-FBE and without
emulation, make sure we "unlock" any emulated settings on user 0;
MountService handles this for secondary users later during boot.

Bug: 27069522
Change-Id: I15c7cf00a7231ce99b2e4e11a25106d7b87e70cc

8 years agoMerge "Add context mount option for appfuse."
Daichi Hirono [Sun, 7 Feb 2016 04:01:24 +0000 (04:01 +0000)]
Merge "Add context mount option for appfuse."

8 years agoAllow callers to prepare CE/DE user storage.
Jeff Sharkey [Tue, 2 Feb 2016 00:02:29 +0000 (17:02 -0700)]
Allow callers to prepare CE/DE user storage.

Give callers the option of preparing CE and/or DE storage.  The
framework will only prepare CE storage after the CE keys have been
unlocked for that user.

When init is calling enablecrypto, kick off the work in a thread so
that we can make other calls back into vold without causing
deadlock.  Leaves blocking call intact for framework callers.

Clean up 'vdc' tool to send useful transaction numbers, and
actually watch for the matching result to come back.  This fixes
race conditions when there are multiple 'vdc' callers.

Also add other system and misc directories to match spec.

Bug: 25796509
Change-Id: Ie4f853db6e387916b845d2b5fb92925d743b063d

8 years agoAdd context mount option for appfuse.
Daichi Hirono [Tue, 26 Jan 2016 01:27:45 +0000 (10:27 +0900)]
Add context mount option for appfuse.

BUG=26147865

Change-Id: I1812c46d0f80eaea9a9a3fa944bc4d0126ae8ba1

8 years agoRemove unencrypted_properties
Paul Lawrence [Thu, 4 Feb 2016 16:18:52 +0000 (08:18 -0800)]
Remove unencrypted_properties

Change-Id: I5728f03dbde6621e410efcda1d93054915793407

8 years agoFix minor issues with previous change
Paul Lawrence [Wed, 3 Feb 2016 21:39:13 +0000 (13:39 -0800)]
Fix minor issues with previous change

New style logging
Remove set/get field from e4crypt
Save keys to temp file then rename

See https://googleplex-android-review.git.corp.google.com/#/c/858922/

Change-Id: I454c3f78489b491ffc1230a70dce64935e4e0f8a

8 years agoUse consistent method for device key
Paul Lawrence [Wed, 3 Feb 2016 18:52:41 +0000 (10:52 -0800)]
Use consistent method for device key

Change-Id: I420f548115c1b55e62b193c60d569fdda518af1a

8 years agoRemove support for non-default root passwords in FBE
Paul Lawrence [Tue, 2 Feb 2016 19:14:59 +0000 (11:14 -0800)]
Remove support for non-default root passwords in FBE

Change-Id: Ie179cb09f9f24382afd0fe0f3aa2a1ad943a7f5d

8 years agoMerge "Mount appfuse in process namespace."
Daichi Hirono [Tue, 2 Feb 2016 10:14:29 +0000 (10:14 +0000)]
Merge "Mount appfuse in process namespace."

8 years agoMount appfuse in process namespace.
Daichi Hirono [Fri, 29 Jan 2016 05:33:51 +0000 (14:33 +0900)]
Mount appfuse in process namespace.

BUG=26148108

Change-Id: I2297fd227a4c607054e0403e73bd9c857f580a1c

8 years agoresolve merge conflicts of 2b6f9ce823 to master.
Jeff Vander Stoep [Mon, 1 Feb 2016 23:24:58 +0000 (15:24 -0800)]
resolve merge conflicts of 2b6f9ce823 to master.

Change-Id: I69f36f560334b11b099f2eb15999603dd2469d4f

8 years agoMerge "cryptfs: run e2fsck/fsck.f2fs in fsck domain"
Jeffrey Vander Stoep [Mon, 1 Feb 2016 23:10:31 +0000 (23:10 +0000)]
Merge "cryptfs: run e2fsck/fsck.f2fs in fsck domain"
am: 6f69ee094c

* commit '6f69ee094cabcd052a4742089fcae8e92cf7f924':
  cryptfs: run e2fsck/fsck.f2fs in fsck domain

8 years agoMerge "cryptfs: run e2fsck/fsck.f2fs in fsck domain"
Jeffrey Vander Stoep [Mon, 1 Feb 2016 23:05:55 +0000 (23:05 +0000)]
Merge "cryptfs: run e2fsck/fsck.f2fs in fsck domain"

8 years agocryptfs: run e2fsck/fsck.f2fs in fsck domain
Jeff Vander Stoep [Fri, 29 Jan 2016 23:34:43 +0000 (15:34 -0800)]
cryptfs: run e2fsck/fsck.f2fs in fsck domain

e2fsck and fsck.f2fs must run in the fsck domain. Add call to
setexeccon() to tell selinux to run in the fsck domain on exec.

Addresses:
avc: denied { execute_no_trans } for path="/system/bin/e2fsck" dev="mmcblk0p41" ino=241 scontext=u:r:vold:s0 tcontext=u:object_r:fsck_exec:s0 tclass=file

Bug: 26872236
Change-Id: Ib2a583aeefc667f8aa67532e0ac0ff9619b65461

8 years agoAdd support for per-user DE keys.
Paul Crowley [Mon, 1 Feb 2016 14:10:43 +0000 (14:10 +0000)]
Add support for per-user DE keys.

FBE devices need a factory reset after this change.

Bug: 26704408
Change-Id: I150b82a13a4a007d9a8997ef6a676e96576356b2

8 years agoRefactor of Ext4Crypt.cpp in preparation for DE keys
Paul Crowley [Thu, 28 Jan 2016 10:09:46 +0000 (10:09 +0000)]
Refactor of Ext4Crypt.cpp in preparation for DE keys

Mainly a refactor, but with a substantive change: Keys are created in
a temporary location, then moved to their final destination, for
atomicity.

Bug: 26704408
Change-Id: I0b2dc70d6bfa1f8a65536dd05b73c4b36a4699cf

8 years agoAdd init_user0 command.
Paul Crowley [Mon, 1 Feb 2016 14:28:12 +0000 (14:28 +0000)]
Add init_user0 command.

Change-Id: Icf746ec1968a073fde707ecc788b648f5803fd38

8 years agoCreate disk encryption keys only when FBE enabled
Paul Crowley [Thu, 28 Jan 2016 12:23:53 +0000 (12:23 +0000)]
Create disk encryption keys only when FBE enabled

Our code for creating disk encryption keys doesn't work everywhere,
and it doesn't need to; only on platforms that support FBE. Don't
create them elsewhere.

Bug: 26842807
Change-Id: I686d0ffd7cb3adbddfce661c22ce18f66acb1aba

8 years agoImprovements to the key storage module
Paul Crowley [Wed, 27 Jan 2016 14:30:22 +0000 (14:30 +0000)]
Improvements to the key storage module

The key storage module didn't comply with Android coding standards
and had room for improvemnet in a few other ways, so have cleaned up.

Change-Id: I260ccff316423169cf887e538113b5ea400892f2

8 years agoMerge "Use a keymaster-based key storage module"
Paul Crowley [Wed, 27 Jan 2016 10:19:54 +0000 (10:19 +0000)]
Merge "Use a keymaster-based key storage module"

8 years agoUse a keymaster-based key storage module
Paul Crowley [Thu, 21 Jan 2016 20:26:12 +0000 (20:26 +0000)]
Use a keymaster-based key storage module

Instead of writing raw keys, encrypt the keys with keymaster. This
paves the way to protecting them with auth tokens and passwords later.
In addition, fold in the hash of a 16k file into their encryption, to
ensure secure deletion works properly.

Now even C++ier!

Bug: 22502684
Bug: 22950892
Change-Id: If70f139e342373533c42d5a298444b8438428322

8 years agoUnmount emulated filesystems before killing the fuse process.
Narayan Kamath [Thu, 21 Jan 2016 12:26:05 +0000 (12:26 +0000)]
Unmount emulated filesystems before killing the fuse process.

Avoid ENOTCONN for file system operations.

bug: 26645585
bug: 26070583
Change-Id: I19b00db37ef7ba85a2cae16c7c4204826653f559

8 years agoDon't fail on unlock if we're not even emulating FBE
Paul Crowley [Thu, 21 Jan 2016 17:24:49 +0000 (17:24 +0000)]
Don't fail on unlock if we're not even emulating FBE

As a precaution, we do the work of emulating an unlock even on devices
that aren't emulating FBE. However, we don't care if it fails, so
don't fail the calling command in that instance.

Bug: 26713622
Change-Id: I8c5fb4b9a130335ecbb9b8ea6367f1c59835c0f1

8 years agoRework FBE crypto to match the N way of doing things
Paul Crowley [Wed, 20 Jan 2016 13:12:38 +0000 (13:12 +0000)]
Rework FBE crypto to match the N way of doing things

Major rework and refactor of FBE code to load the keys at the right
time and in a natural way. The old code was aimed at our goals for M,
with patches on top, and didn't quite work.

Bug: 22358539

Change-Id: I9bf7a0a86ee3f2abf0edbd5966f93efac2474c2c

8 years agoOffer to enforce "locked" state using SELinux.
Jeff Sharkey [Tue, 12 Jan 2016 23:52:16 +0000 (16:52 -0700)]
Offer to enforce "locked" state using SELinux.

Bug: 26466827
Change-Id: Id5f05298c2cb5f3cf288df37ddf0a196ca49949b

8 years agoMerge "Add allow_other mount option for appfuse."
Daichi Hirono [Thu, 14 Jan 2016 07:23:17 +0000 (07:23 +0000)]
Merge "Add allow_other mount option for appfuse."

8 years agoMerge "cryptfs: Skip to encrtypt unused blocks into a block group which uninitialize...
Paul Lawrence [Tue, 12 Jan 2016 22:21:21 +0000 (22:21 +0000)]
Merge "cryptfs: Skip to encrtypt unused blocks into a block group which uninitialize block bitmap ." am: 1ae498e0d4
am: 9b5db9bcbe

* commit '9b5db9bcbe333b677ca18d2c1c398c8751cd0fd2':
  cryptfs: Skip to encrtypt unused blocks into a block group which uninitialize block bitmap .

8 years agoUse android-base logging not cutils in secdiscard
Paul Crowley [Mon, 11 Jan 2016 12:26:44 +0000 (12:26 +0000)]
Use android-base logging not cutils in secdiscard

Much nicer C++ style logging, but the main reason is to clean up
AutoCloseFD.h so I don't have to use cutils to use it.

Change-Id: I7a7f227508418046eecce6c89f813bd8854f448a

8 years agoMerge "cryptfs: Skip to encrtypt unused blocks into a block group which uninitialize...
Paul Lawrence [Mon, 11 Jan 2016 20:31:03 +0000 (20:31 +0000)]
Merge "cryptfs: Skip to encrtypt unused blocks into a block group which uninitialize block bitmap ."
am: 1ae498e0d4

* commit '1ae498e0d4524aef6de2f1e3b639697ac24b29b2':
  cryptfs: Skip to encrtypt unused blocks into a block group which uninitialize block bitmap .

8 years agoMerge "cryptfs: Skip to encrtypt unused blocks into a block group which uninitialize...
Paul Lawrence [Mon, 11 Jan 2016 20:25:32 +0000 (20:25 +0000)]
Merge "cryptfs: Skip to encrtypt unused blocks into a block group which uninitialize block bitmap ."

8 years agoAdd allow_other mount option for appfuse.
Daichi Hirono [Thu, 7 Jan 2016 08:52:45 +0000 (17:52 +0900)]
Add allow_other mount option for appfuse.

After DocumentsProvider opens FD on app fuse, DocumentProvider passes it
to other applications. To allow other applications to use the FD on app
fuse, we need to specify allow_other mount option.

BUG=25756419

Change-Id: I3c729f90e5b822a7b1032bf80726cc234c0936b1

8 years agocryptfs: Skip to encrtypt unused blocks into a block group which uninitialize block...
liminghao [Wed, 6 Jan 2016 02:30:49 +0000 (10:30 +0800)]
cryptfs: Skip to encrtypt unused blocks into a block group which uninitialize block bitmap .

Bug: 198288

Change-Id: Iaa1a14fd916ddec8dc1a4be18d49732ebcba6884
Signed-off-by: liminghao <liminghao@xiaomi.com>
8 years agoAdd unmount command to vold's AppFuse listener.
Daichi Hirono [Wed, 16 Dec 2015 04:04:37 +0000 (13:04 +0900)]
Add unmount command to vold's AppFuse listener.

BUG=25756420

Change-Id: I75b41f135c172d400e57a72a2be0473546781475

8 years agoCreate /data/media directory for new users.
Jeff Sharkey [Sat, 19 Dec 2015 00:18:22 +0000 (17:18 -0700)]
Create /data/media directory for new users.

Otherwise later unlock commands will fail.

Bug: 26267450
Change-Id: I090ac3a3fd4ac6d49290906e21d88f1efcdec421

8 years agoMerge "Hide external storage from apps if it\'s not set as adoptable" am: f570ded508
Jeff Sharkey [Thu, 17 Dec 2015 07:47:40 +0000 (07:47 +0000)]
Merge "Hide external storage from apps if it\'s not set as adoptable" am: f570ded508
am: 6a7d34bffd

* commit '6a7d34bffdcd166bfc8fafe98b00dd5063e50667':
  Hide external storage from apps if it's not set as adoptable

8 years agoMerge "Hide external storage from apps if it\'s not set as adoptable"
Jeff Sharkey [Wed, 16 Dec 2015 23:10:38 +0000 (23:10 +0000)]
Merge "Hide external storage from apps if it\'s not set as adoptable"
am: f570ded508

* commit 'f570ded508aacc8130a2fd8f1130a51991202d9d':
  Hide external storage from apps if it's not set as adoptable

8 years agoMerge "Hide external storage from apps if it's not set as adoptable"
Jeff Sharkey [Wed, 16 Dec 2015 22:19:11 +0000 (22:19 +0000)]
Merge "Hide external storage from apps if it's not set as adoptable"

8 years agoHide external storage from apps if it's not set as adoptable
Qin Chao [Tue, 15 Dec 2015 07:20:41 +0000 (15:20 +0800)]
Hide external storage from apps if it's not set as adoptable

If storage is not visible to apps and no need to spin up FUSE, it also
should not make FUSE mount point directory.

Change-Id: I6ecd2e5bf56b5dcf0e11834880256b156a62a9a0
Signed-off-by: Qin Chao <chao.qin@intel.com>
8 years agoAvoid use of a macro when checking argument count.
Paul Crowley [Mon, 14 Dec 2015 15:52:19 +0000 (15:52 +0000)]
Avoid use of a macro when checking argument count.

Change-Id: Ia697de58b983233c78e9ef8eb93098d50dfda931

8 years agoFix a bug in passing parameters to prepare_user_storage.
Lenka Trochtova [Fri, 11 Dec 2015 12:27:26 +0000 (13:27 +0100)]
Fix a bug in passing parameters to prepare_user_storage.

Add the serial parameter to prepare_user_storage to avoid
confusion when parsing parameters and passing them around.

Change-Id: Id5516c248401ad50585aa8f6e8b1545a6cded549

8 years agoMount FUSE for appfuse directories.
Daichi Hirono [Wed, 9 Dec 2015 05:37:05 +0000 (14:37 +0900)]
Mount FUSE for appfuse directories.

BUG=25755834

Change-Id: Icb59b5096239fd3611b614a0870d0ec910cee277

8 years agoMerge "Send file descriptor of /dev/fuse from vold."
Daichi Hirono [Fri, 11 Dec 2015 06:16:13 +0000 (06:16 +0000)]
Merge "Send file descriptor of /dev/fuse from vold."

8 years agoUse Jeff's C++ style for finding the subcommand consistently.
Paul Crowley [Thu, 10 Dec 2015 16:51:53 +0000 (16:51 +0000)]
Use Jeff's C++ style for finding the subcommand consistently.

Change-Id: I2c7333de680cf5d350894f5064e955969e804781

8 years agoSimplify test for right argc in cryptfs commands, and test more.
Paul Crowley [Thu, 10 Dec 2015 16:26:15 +0000 (16:26 +0000)]
Simplify test for right argc in cryptfs commands, and test more.

Change-Id: I23bb19a329b34ba4b81c57b815a2a0a4e8f27745

8 years agoRename functions with a system/extras name collision.
Paul Crowley [Thu, 10 Dec 2015 14:51:30 +0000 (14:51 +0000)]
Rename functions with a system/extras name collision.

Following around the call graph in code search is hard enough as it is!

Change-Id: I09d3513664423aafe0d99f9158acfbbb6c79b590

8 years agoFix create_user_key to take 3 params
Paul Lawrence [Wed, 9 Dec 2015 23:45:41 +0000 (15:45 -0800)]
Fix create_user_key to take 3 params

Change-Id: Ied03e2ee404a1b4f386740213e6ab01f18ec09b9

8 years agoSend file descriptor of /dev/fuse from vold.
Daichi Hirono [Mon, 7 Dec 2015 08:29:29 +0000 (17:29 +0900)]
Send file descriptor of /dev/fuse from vold.

BUG=25755834

Change-Id: Ica8bd336baa74e117be008a6e7ee34e3ffac3769

8 years agoIntroduce support for ephemeral users.
Lenka Trochtova [Wed, 25 Nov 2015 09:13:03 +0000 (10:13 +0100)]
Introduce support for ephemeral users.

BUG: 24883058

Change-Id: I77d4757f87214166e7c41c7eb0d06b1cd5f06b20

8 years agoEmulate media encryption, always chmod to unlock.
Jeff Sharkey [Tue, 8 Dec 2015 00:27:01 +0000 (17:27 -0700)]
Emulate media encryption, always chmod to unlock.

When FBE emulation is enabled, lock/unlock the media directories that
store emulated SD card contents.

Change unlocking logic to always chmod directories back to known
state so that we can recover devices that have disabled FBE
emulation.

Bug: 2601060726027473
Change-Id: I6d4bff25d8ad7b948679290106f585f777f7a249

8 years agoresolve merge conflicts of b7d5a47cec to master.
Elliott Hughes [Sat, 5 Dec 2015 01:55:33 +0000 (17:55 -0800)]
resolve merge conflicts of b7d5a47cec to master.

Change-Id: I0c5211a00d92d0ee796bb9c77d2e13675a2a3e8d

8 years agoMerge "Track rename from base/ to android-base/." am: 20a8fa98f6
Elliott Hughes [Sat, 5 Dec 2015 01:45:41 +0000 (01:45 +0000)]
Merge "Track rename from base/ to android-base/." am: 20a8fa98f6
am: a9d5080109

* commit 'a9d5080109623884c8f8e7c3515eaa9ed3f85c58':
  Track rename from base/ to android-base/.

8 years agoMerge "Track rename from base/ to android-base/."
Elliott Hughes [Sat, 5 Dec 2015 01:39:41 +0000 (17:39 -0800)]
Merge "Track rename from base/ to android-base/."
am: 20a8fa98f6

* commit '20a8fa98f6b858999b623272a182843259e1044c':
  Track rename from base/ to android-base/.