Commit graph

1907 commits

Author SHA1 Message Date
Jeff Sharkey
ab76449988 Merge "Use main thread for Binder transactions." 2017-10-19 15:02:52 +00:00
Jeff Sharkey
ae4f85d2ff Introduce lock for SELinux process-level changes.
Used to protect process-level SELinux changes from racing with each
other between multiple threads.

Test: builds, boots
Bug: 67041047
Change-Id: I242afed3c3eb7fba282f1f6b3bdb2d957417c7e8
2017-10-18 17:02:24 -06:00
Jeff Sharkey
93396c14a8 Use main thread for Binder transactions.
Make the main thread do something useful instead of sitting around
twiddling its thumbs.

Test: builds, boots
Bug: 67041047
Change-Id: I88f7f4fe151ae2b81f80aa575530c12b56ba4d75
2017-10-18 16:54:46 -06:00
TreeHugger Robot
130a7bf084 Merge "Get ourselves some clang-format." 2017-10-18 21:26:21 +00:00
Jeff Sharkey
68f1b8bdfb Use sgdisk to create better-aligned MBR tables.
We heavily leverage sgdisk, which already has a bunch of logic to
optimally align partitions.  We've been using it for the adoptable
storage GPT tables, and now we also use it for MBR tables.

Test: cts-tradefed run commandAndExit cts-dev --abi armeabi-v7a -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.AdoptableHostTest
Bug: 63735902
Change-Id: I846a8c96930ec2c6ab12e54dc2d464b17f7c54a9
2017-10-18 14:09:54 -06:00
Jeff Sharkey
2c36966b1a Get ourselves some clang-format.
These are the same rules used by system/core/.  We'll apply it to
existing code in a future CL.

Test: none
Bug: 67041047
Change-Id: I407581a9ba155aea87ac87f231f5269f7c444a2e
2017-10-18 12:17:36 -06:00
Jeff Sharkey
01a0e7fa18 Fix task memory leaks; better path validation.
We've been allocating task objects without freeing them, oops.  We
don't really need full classes for these tasks, so move them to
blocking methods, and invoke them from a detached thread.

Remove FIDTRIM support, which isn't meaningful on UFS-based flash
devices.  Modern devices require FBE/FDE which gives us better
protection against trimmed data lingering around.

Rename "Trim" to more generic "IdleMaint", since it'll soon extend
to include custom F2FS optimization logic.

Check for shady ".." when validating paths.

Test: cts-tradefed run commandAndExit cts-dev -m CtsOsTestCases -t android.os.storage.cts.StorageManagerTest
Test: cts-tradefed run commandAndExit cts-dev --abi armeabi-v7a -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.AdoptableHostTest
Bug: 67041047
Change-Id: I4fb194c5d5ef13f413c02acedfbaaf79c567582b
2017-10-18 11:44:57 -06:00
TreeHugger Robot
a6f6285875 Merge "Move to modern utility methods from android::base." 2017-10-17 23:29:27 +00:00
Jeff Sharkey
3472e52fc2 Move to modern utility methods from android::base.
Moves away from crufty char* operations to std::string utility
methods, including android::base methods for splitting/parsing.

Rewrite of how Process handles scanning procfs for filesystem
references; now uses fts(3) for more sane traversal.

Replace sscanf() with new FindValue() method, also has unit tests.

Remove some unused methods.  Switch almost everyone over to using
modern logging library.

Test: cts-tradefed run commandAndExit cts-dev -m CtsOsTestCases -t android.os.storage.cts.StorageManagerTest
Test: cts-tradefed run commandAndExit cts-dev --abi armeabi-v7a -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.AdoptableHostTest
Bug: 67041047
Change-Id: I70dc512f21459d1e25b187f24289002b2c7bc7af
2017-10-17 12:40:51 -06:00
Paul Crowley
06f762d577 Validate filesystem UUIDs in Binder calls.
Test: boots
Bug: 67041047
Change-Id: I7bb21186db8cd709a9adfc5f9d0dedb069b2cff3
2017-10-17 11:01:45 -07:00
Paul Crowley
8e55066845 Recursively delete subdirs when deleting
Use vold_prepare_subdirs since only it has the privilege needed.

Bug: 25861755
Test: Boot device, create user, create files, remove user, observe logs
Change-Id: I90fb2517ccd177c9b009001e7a2b00f537152f8c
2017-10-17 10:44:17 -07:00
Paul Crowley
1a9652613a Create subdirectories of misc_ce/misc_de when needed
Bug: 25861755
Test: Boot device, check directory exists as it should.
Change-Id: I413631452e8e0bdd869887091f8b077bd5f9297e
2017-10-16 11:36:32 -07:00
Paul Crowley
3b71fc5100 Be more C++. volume UUID should always be std::string.
Test: boots
Bug: 67041047
Change-Id: I36d3944ae8de192703b9ee359900841b833fe3a1
2017-10-09 13:36:35 -07:00
Paul Crowley
a7ca40bd70 Remove dead code; move code out of cryptfs that doesn't belong.
Test: Marlin boots
Change-Id: I5c3fc21fef336b301981d6eff6f6ea242f30f66c
2017-10-06 14:29:33 -07:00
Paul Crowley
6b756ce5e9 Don't re-prepare main storage when preparing SD card storage
Test: Boots correctly, logs show main storage no longer prepared when
SD card is.

Change-Id: I9a123436e7083d8331c7543fe77aa6587b28db9f
2017-10-05 14:07:09 -07:00
Paul Crowley
82e249ac7d Merge "Remove CheckBattery altogether" into stage-aosp-master am: db436c7999 am: 45aa0f6c51
am: e2d1d99f1a

Change-Id: I89ce2407bb3ac648789b8c583e82106c07523b64
2017-10-04 05:31:41 +00:00
Paul Crowley
e2d1d99f1a Merge "Remove CheckBattery altogether" into stage-aosp-master am: db436c7999
am: 45aa0f6c51

Change-Id: I91e0b067e313869417b8b18d9f65f8d0f2acc894
2017-10-04 05:29:30 +00:00
Paul Crowley
45aa0f6c51 Merge "Remove CheckBattery altogether" into stage-aosp-master
am: db436c7999

Change-Id: I65e49db994bbfe266772fa36ed97bee4e4468d5b
2017-10-04 05:27:10 +00:00
TreeHugger Robot
db436c7999 Merge "Remove CheckBattery altogether" into stage-aosp-master 2017-10-04 05:22:11 +00:00
Paul Crowley
be96539941 Merge "Remove CheckBattery altogether" am: 2890b8d215 -s ours am: 90a9c44f9d am: 68b565336b
am: db324f795a

Change-Id: I407b07b66f358474c9493aa8f5950e5b03fd2d1a
2017-10-04 04:45:59 +00:00
Paul Crowley
db324f795a Merge "Remove CheckBattery altogether" am: 2890b8d215 -s ours am: 90a9c44f9d
am: 68b565336b

Change-Id: I88aa538f2bfb210ce185784ee2c95b70080718e4
2017-10-04 04:43:55 +00:00
Paul Crowley
68b565336b Merge "Remove CheckBattery altogether" am: 2890b8d215 -s ours
am: 90a9c44f9d

Change-Id: Ie6d021923c2fe396d954b4df07eb293a9cf3dd6d
2017-10-04 04:41:42 +00:00
Paul Crowley
90a9c44f9d Merge "Remove CheckBattery altogether"
am: 2890b8d215  -s ours

Change-Id: I3ad2174feea5d62b9bcff2119032abd80254d77c
2017-10-04 04:39:22 +00:00
Paul Crowley
584610f325 Remove CheckBattery altogether
Test: changed Angler fstab to encryptable and encrypted.
Bug: 16868177
Change-Id: I17d36ea838d6d96f0752b2d6d03b1f9a781ed018
2017-10-03 21:38:15 -07:00
Paul Crowley
f8231e061b Remove CheckBattery altogether am: a04014bf26
am: de90f76fe2  -s ours

Change-Id: I78e6567442b490d6e0df1f2df70afd8c04883d40
2017-10-03 23:29:16 +00:00
Treehugger Robot
2890b8d215 Merge "Remove CheckBattery altogether" 2017-10-03 23:19:02 +00:00
Paul Crowley
de90f76fe2 Remove CheckBattery altogether
am: a04014bf26

Change-Id: I7aefe1d6f4815a7f02671869fe940a3cdd13cd70
2017-10-03 22:08:31 +00:00
Paul Crowley
5385417922 Remove CheckBattery altogether
Test: changed Angler fstab to encryptable and encrypted.
Bug: 16868177
Change-Id: I17d36ea838d6d96f0752b2d6d03b1f9a781ed018
2017-10-03 11:53:36 -07:00
Paul Crowley
a04014bf26 Remove CheckBattery altogether
Test: changed Angler fstab to encryptable and encrypted.
Bug: 16868177
Change-Id: I17d36ea838d6d96f0752b2d6d03b1f9a781ed018
2017-10-03 10:45:23 -07:00
Paul Crowley
1b992e4f26 Remove CheckBattery altogether
Test: changed Angler fstab to encryptable and encrypted.
Bug: 16868177
Change-Id: I17d36ea838d6d96f0752b2d6d03b1f9a781ed018
2017-10-02 16:20:49 -07:00
Yifan Hong
c8e7d35237 Merge "vold: remove unnecessary dependency on libbatteryservice." am: 7b0ac6d37e am: 2313818c46 am: a6f34f6e78
am: da59b50f70

Change-Id: I7efb2dd4ff1bfbc0e9ec16fcb29e4b2e50e9e163
2017-09-28 18:34:53 +00:00
Yifan Hong
da59b50f70 Merge "vold: remove unnecessary dependency on libbatteryservice." am: 7b0ac6d37e am: 2313818c46
am: a6f34f6e78

Change-Id: I824e6e9285013895bc989e2667e297e130b6e1af
2017-09-28 18:32:23 +00:00
Yifan Hong
a6f34f6e78 Merge "vold: remove unnecessary dependency on libbatteryservice." am: 7b0ac6d37e
am: 2313818c46

Change-Id: I1faae4261398a107aee274a7b6a4b05766786257
2017-09-28 18:30:01 +00:00
Yifan Hong
2313818c46 Merge "vold: remove unnecessary dependency on libbatteryservice."
am: 7b0ac6d37e

Change-Id: I772e82a8ae54477014076be34b7dab5cb968fba7
2017-09-28 18:21:49 +00:00
Treehugger Robot
7b0ac6d37e Merge "vold: remove unnecessary dependency on libbatteryservice." 2017-09-28 18:14:42 +00:00
Yifan Hong
57838d665f vold: remove unnecessary dependency on libbatteryservice.
Battery check could be replaced by hwbinder calls into
android.hardware.health@2.0 instead, but because
of b/16868177, this is actually not needed.

Bug: 62229583
Test: pass
Change-Id: Ieb03e6ee2f648d9c1d85dbbdc10626726f5fe39b
2017-09-27 18:49:18 -07:00
Paul Crowley
3c3e360546 Revert "Revert "Be more aggressive about obtaining vold service.""
This reverts commit 5687066dcc.

Reason for revert: ag/2966951 fixes the underlying problem.

Bug: 66739076
Bug: 65737446
Test: reboot-cycle.sh doesn't show a problem.
Change-Id: If4b9c5cc39e9e905d2b1e78f091609be641fc22a
2017-09-27 11:20:01 -07:00
Paul Crowley
3188805e35 Read the configuration before starting the native service.
Bug: 66739076
Bug: 65737446
Test: reboot-cycle.sh doesn't show a problem.
Change-Id: Ia0699cca7e07475d4df266b482a3b2c96519ed3b
2017-09-27 10:56:54 -07:00
TreeHugger Robot
12274eea5c Merge "Refactor of use of fstab in advance of fix." 2017-09-26 23:19:17 +00:00
Paul Crowley
e2ee152e46 Refactor of use of fstab in advance of fix.
Test: Ensure device still boots.
Bug: 65737446
Change-Id: Ie466db9f5d8c77656cc525c0d49fe6a3cce154f1
2017-09-26 14:21:10 -07:00
TreeHugger Robot
6329c1b7a7 Merge "Revert "Be more aggressive about obtaining vold service."" 2017-09-26 01:08:42 +00:00
Jeff Sharkey
5687066dcc Revert "Be more aggressive about obtaining vold service."
This reverts commit 4a53a9edb3.

Change-Id: Ie4058488226bf53b78063dd3feb011dbd0167d1e
2017-09-25 23:21:24 +00:00
Rom Lemarchand
77823360b4 Revert "Revert "Add support for gid derivation on private volumes""
am: 958c216d87

Change-Id: Ic75b411b3aec784cdc19db3e5bedda7cd21a5306
2017-09-22 23:20:29 +00:00
Rom Lemarchand
958c216d87 Revert "Revert "Add support for gid derivation on private volumes""
This reverts commit a3a60b372e.

Reason for revert: All kernel prebuilts merged

(cherry picked from commit 75ae529bf8)

Bug: 65600849
Bug: 65573871
Test: m
Change-Id: I75b0cb1d82213b875cbef8d39f4f1a8fb34b9795
2017-09-22 14:30:56 -07:00
Richard Uhler
0a34be8472 Merge "Revert "Add support for gid derivation on private volumes"" am: 9588da7095 am: 6b264e4a4c am: 3ed63e8d21
am: 4a921633fa

Change-Id: I0363e160698cb31e19fab984d5b40561fe480889
2017-09-22 17:34:57 +00:00
Richard Uhler
4a921633fa Merge "Revert "Add support for gid derivation on private volumes"" am: 9588da7095 am: 6b264e4a4c
am: 3ed63e8d21

Change-Id: Ie3abbe2dee226330576e42b44910652ff272eb74
2017-09-22 17:32:02 +00:00
Richard Uhler
3ed63e8d21 Merge "Revert "Add support for gid derivation on private volumes"" am: 9588da7095
am: 6b264e4a4c

Change-Id: Ic617080e8f98079bd3075621dc85f5dfa00ff5ba
2017-09-22 17:30:00 +00:00
Richard Uhler
6b264e4a4c Merge "Revert "Add support for gid derivation on private volumes""
am: 9588da7095

Change-Id: Ie2e32cca7542cdc1aaec5e8481b6a255b3c3b298
2017-09-22 17:24:03 +00:00
Treehugger Robot
9588da7095 Merge "Revert "Add support for gid derivation on private volumes"" 2017-09-22 17:21:55 +00:00
Richard Uhler
32a7b7fe82 Revert "Add support for gid derivation on private volumes"
This reverts commit 1b38e33003.

Causes a boot loop on bullhead.

(cherry picked from commit a3a60b372e)

Bug: 63245673
Bug: 65660058
Test: m
Merged-In: I9c8afd3ba22547aff5aff06b71cb8ff3b8a07350
Change-Id: I9c8afd3ba22547aff5aff06b71cb8ff3b8a07350
2017-09-22 09:04:05 -07:00