Commit graph

2270 commits

Author SHA1 Message Date
Risan
d04a16cbd5 Merge "Extract AppFuse as a util"
am: 7be8a7ee1d

Change-Id: I4000729595b7799498c70fc37639ef652e9a389d
2018-11-30 00:39:55 -08:00
Treehugger Robot
7be8a7ee1d Merge "Extract AppFuse as a util" 2018-11-30 05:05:10 +00:00
LongPing.WEI
a92bdeb7f5 Merge "Use setmntent with "e" option"
am: 396040ca2c

Change-Id: I4ccb2a328f1203ab1fc9d5c58d89551f737d58b6
2018-11-28 09:55:03 -08:00
Treehugger Robot
396040ca2c Merge "Use setmntent with "e" option" 2018-11-28 17:49:17 +00:00
LongPing.WEI
4f04606811 Use setmntent with "e" option
Otherwise it will cause selinux warning in children processes sometimes

Change-Id: I41239c3f9779140622076c644a5f63051d00eaa8
2018-11-23 19:27:35 +08:00
Daniel Rosenberg
b0b31d360d Merge "Fix error reporting in cp_commitChanges"
am: 2a683d4ce6

Change-Id: Ie997ca2fac3a6cd8421fdae6617e016b4533486f
2018-11-20 14:14:41 -08:00
Daniel Rosenberg
2a683d4ce6 Merge "Fix error reporting in cp_commitChanges" 2018-11-20 21:58:20 +00:00
Daniel Rosenberg
4b86df1426 Fix error reporting in cp_commitChanges
Only trys to commit if necessary, and reports errors
if commiting fails. RemoveFileIfExists returns true on
success.

Test: vdc checkpoint startCheckpoint, reboot, and then
      vdc checkpoint commitChanges
Bug: 111020314

Change-Id: Ie1b3e49beb3ca04f2881fcc595882c607368b477
2018-11-19 23:47:03 +00:00
Jie
c26ff35858 Merge "Add fsync for renaming user ce key path"
am: 622585b11b

Change-Id: Ic110b6725790398a235d0766330b0899ab52bedb
2018-11-15 13:45:12 -08:00
Treehugger Robot
622585b11b Merge "Add fsync for renaming user ce key path" 2018-11-15 21:35:25 +00:00
Jie
b6698d56ac Add fsync for renaming user ce key path
Device can't start up after the following steps:
1. set screen lock to PIN/Pattern/Password
2. set screen lock to Swipe/None
3. power down immediately after pressing "YES, REMOVE"
4. reboot

failed log:
Failed to read from /data/misc/vold/user_keys/ce/0/current/keymaster_key_blob

root cause:
flushing data failed because of power down

issue:
https://partnerissuetracker.corp.google.com/u/1/issues/119382750
2018-11-15 06:25:37 +00:00
Risan
996963c938 Merge "Change AppFuse mount location to vold namespace"
am: b2455747a9

Change-Id: I59cb49859d9622dd460e61e1b55220dd04585ad5
2018-11-13 23:45:19 -08:00
Risan
ac02a4863f Extract AppFuse as a util
Bug: 110379912
Test: testOpenProxyFileDescriptor
Change-Id: I0429a498d7b54682efe9b05815f3470e8745609e
2018-11-14 07:28:06 +00:00
Treehugger Robot
b2455747a9 Merge "Change AppFuse mount location to vold namespace" 2018-11-14 07:27:38 +00:00
Risan
5f53cd3b79 Change AppFuse mount location to vold namespace
Previously, AppFuse is mounted in system_server's mount namespace. This
CL moves the mount location to vold namespace.

Bug: 110379912
Test: testOpenProxyFileDescriptor passes
Change-Id: Id93c26d5a98842c78f27850c83e15df619cec1ab
2018-11-13 22:46:23 +00:00
Risan
14955896e5 Merge "StubVolume as first class Volume in Vold"
am: dcbce84fed

Change-Id: Ib8b824d0a9b68864988277d803e094a73f7e7905
2018-11-13 11:45:19 -08:00
Treehugger Robot
dcbce84fed Merge "StubVolume as first class Volume in Vold" 2018-11-13 19:20:38 +00:00
Risan
8c9f33242f StubVolume as first class Volume in Vold
StubVolume is a Volume that is maintained by external party such as the
ChromeOS processes in ARC++.

Bug: 110380403
Test: Tested on ARC++

Change-Id: I3198bd7283d5f60a524da3707dea7385ffec599d
2018-11-08 07:40:43 +00:00
Paul Crowley
65faa9850c Merge "Wait for dm device to be ready before format"
am: b3001b9f28

Change-Id: Ifa756a04027932a99ec35732f9f91f31bc1bcc9e
2018-11-05 15:09:32 -08:00
Treehugger Robot
b3001b9f28 Merge "Wait for dm device to be ready before format" 2018-11-05 22:53:27 +00:00
Paul Crowley
cfe3972f2d Wait for dm device to be ready before format
It can sometimes take a moment for the dm-device to appear after
creation, causing operations on it such as formatting to fail.
Ensure the device exists before create_crypto_blk_dev returns.

Test: adb sm set-virtual-disk true and format as adoptable.
Bug: 117586466
Change-Id: Id8f571b551f50fc759e78d917e4ac3080e926722
Merged-In: Id8f571b551f50fc759e78d917e4ac3080e926722
2018-11-05 13:59:08 -08:00
Eric Biggers
e6680f17a8 Merge changes from topic "e4crypt_to_fscrypt"
am: ddbd8325f5

Change-Id: Ifbe5a1bfd2d9a4b0e97197ab91358df356b0d0b2
2018-10-29 10:32:57 -07:00
Eric Biggers
10b70834a4 vold: rename from "ext4 encryption" to fscrypt
am: a701c458ca

Change-Id: I2433a349e40e530439bdc84d39b6295213597b9e
2018-10-29 10:32:49 -07:00
Eric Biggers
ddbd8325f5 Merge changes from topic "e4crypt_to_fscrypt"
* changes:
  vold: get the fscrypt kernel API declarations from linux/fs.h
  vold: rename from "ext4 encryption" to fscrypt
2018-10-29 17:19:39 +00:00
Eric Biggers
a701c458ca vold: rename from "ext4 encryption" to fscrypt
We support file-based encryption on both ext4 and f2fs now, and the
kernel API is the same.  So rename things appropriately in vold:

    e4crypt => fscrypt
    ext4enc => fscrypt
    Ext4Crypt => FsCrypt
    EXT4_* => FS_*
    ext4_encryption_key => fscrypt_key

Additionally, the common functions shared by 'vold' and 'init' are now
in libfscrypt rather than ext4_utils.  So update vold to link to
libfscrypt and include the renamed headers.

Note: there's a chance of 'fscrypt' being confused with the dm-crypt
based encryption code in vold which is called 'cryptfs'.  However,
fscrypt is the name used in the kernel for ext4/f2fs/ubifs encryption,
and it's preferable to use the same name in userspace.

Test: built, booted device with f2fs encryption
Change-Id: I2a46a49f30d9c0b73d6f6fe09e4a4904d4138ff6
2018-10-25 17:12:32 -07:00
Eric Biggers
ba997ee583 vold: get the fscrypt kernel API declarations from linux/fs.h
bionic now has linux/fs.h from the 4.14 kernel, which has the fscrypt
kernel API declarations.  Replace the manual declarations in vold,
except for FS_AES_256_XTS_KEY_SIZE which is not available.

Test: built, booted device with f2fs encryption
Change-Id: I6a0e3117eaebe3baac7385421afce2169d46ad55
2018-10-25 17:12:32 -07:00
Bill Yi
92e9696929 [automerger skipped] Merge pie-platform-release to aosp-master - DO NOT MERGE
am: 0016efbc44  -s ours

Change-Id: I4f58d060b74eb50c3287390c205b90629a601304
2018-10-24 16:40:33 -07:00
Bill Yi
0016efbc44 Merge pie-platform-release to aosp-master - DO NOT MERGE
Change-Id: I112d144eac39f426e22d3a66e4fe298306010c13
2018-10-24 14:48:22 -07:00
Bill Yi
f7885c7757 Merge pi-platform-release to stage-aosp-master - DO NOT MERGE
Change-Id: I535e6ec4e1ceed5e57d32353caaac7126752c7dc
2018-10-24 09:08:01 -07:00
Bill Yi
71e738ce4f Merge pi-dr1-dev to aosp-master
am: 8b1136c831

Change-Id: I4459543720b4b50525087b3c8b9dd93ef5448f24
2018-10-19 15:04:46 -07:00
Bill Yi
8b1136c831 Merge pi-dr1-dev to aosp-master
Change-Id: I5f9eb0c7ea0a3ba88865854e28b73806011d323e
2018-10-19 12:20:56 -07:00
Daniel Rosenberg
aeac5d5f57 [automerger skipped] Merge "Remove spurious function declaration"
am: 090e05bd02  -s ours

Change-Id: I919eeb0ec529c444ea0a32835a4b0306c07fab45
2018-10-16 17:12:32 -07:00
Treehugger Robot
090e05bd02 Merge "Remove spurious function declaration" 2018-10-16 23:55:28 +00:00
Daniel Rosenberg
bc6c1ff8df Merge "Switch to exceptions for most cp calls"
am: ece7e231a6

Change-Id: Ib02d0a002f31834bb07cf8dd9446cec942880a77
2018-10-16 14:34:54 -07:00
Daniel Rosenberg
3bfb996597 Remove spurious function declaration
Test: Nothing changes
Change-Id: I27f0d832d33099efe25794987c307d773b5d987c
Merged-In: Icba16578608a6cbf922472e9d4ae5b8cf5f016c6
2018-10-16 21:28:13 +00:00
Treehugger Robot
ece7e231a6 Merge "Switch to exceptions for most cp calls" 2018-10-16 21:14:34 +00:00
Daniel Rosenberg
73680ec382 Switch to exceptions for most cp calls
This switches the checkpoint calls that don't need to return a value
to return 0 on success, and an error on failure. This will be transalted
to exceptions for java binder users. needsCheckpoint and needsRollback
still return a boolean value.

Test: vdc setCheckpoint 2 then reboot 3 times checking state
Bug: 112901762
Change-Id: Idd3b5e6036631562a86d5123f533b86cf3bd6032
Merged-In: Idd3b5e6036631562a86d5123f533b86cf3bd6032
2018-10-16 20:06:47 +00:00
Daniel Rosenberg
e1e3dc3698 Merge "Handle retry count"
am: e74587af4d

Change-Id: I76c8625e58de0efb7b1d937ce7bcb8499c7fc279
2018-10-15 21:19:59 -07:00
Treehugger Robot
e74587af4d Merge "Handle retry count" 2018-10-16 01:25:34 +00:00
Daniel Rosenberg
80d1ca5600 Handle retry count
Test: vdc setCheckpoint 2 then reboot 3 times checking state
Bug: 112901762
Change-Id: I85a71d059bca27b76175b9bd8465cc453f0ddb8d
2018-10-15 22:13:41 +00:00
Bill Rassieur
87135e28b2 Merge PPR2.181005.003 from pi-release-2 into pi-platform-release.
Change-Id: Ifb0130fa2b413d1b8a769684cffb6c6621ea9859
BUG: 117431430
2018-10-10 17:33:05 +00:00
Daniel Rosenberg
0b875d7630 Merge "Add checkpointing support for A/B updates"
am: ba1752008d

Change-Id: I62cb1c6dce6c9eca1c3651b05d23cb893559d370
2018-10-04 18:48:04 -07:00
Daniel Rosenberg
ba1752008d Merge "Add checkpointing support for A/B updates" 2018-10-05 01:31:18 +00:00
Paul Lawrence
1c6d73bfcc Merge "Use unique points for fstab"
am: 1e1893812c

Change-Id: I64ce90c05417b8b96ddc1e96cd505ca2aff86082
2018-10-03 17:28:34 -07:00
Treehugger Robot
1e1893812c Merge "Use unique points for fstab" 2018-10-03 23:57:39 +00:00
Daniel Rosenberg
d399249855 Add checkpointing support for A/B updates
This adds implicit rollback support during A/B style updates.
If you explicitly start a checkpoint with -1, needsRollback will
trigger if the update fails, and should be used if any additional
cleanup is needed that is not covered by A/B itself.

Test: All Checkpoint tests pass
Bug: 111020314
Change-Id: I88b4a1098c6bac4dc1438a54c8a8f59577a6c17b
2018-10-03 15:39:25 -07:00
Paul Lawrence
2040089ab0 Use unique points for fstab
Test: Checkpoint test script runs and passes
Change-Id: I13005da22aef5fda3d1e0941949db02ff0ff0870
2018-10-03 14:19:31 -07:00
Paul Lawrence
61c3eaf068 Merge "Make checkpointing work on ext4"
am: ac244261c8

Change-Id: I78da54f117c9c2710d2d1fbe4ec7e902bf944d5d
2018-10-03 13:31:25 -07:00
Treehugger Robot
ac244261c8 Merge "Make checkpointing work on ext4" 2018-10-03 20:15:48 +00:00
Paul Lawrence
1abb2fe278 Make checkpointing work on ext4
Test: All tests pass
Change-Id: I2a6cdf1edfe752f4633e1931e75d18659653938c
2018-10-03 09:15:27 -07:00