Commit graph

48802 commits

Author SHA1 Message Date
Bowgo Tsai
5ccd84fd35 Merge "fs_mgr: fix fs_mgr avb_keys parsing problem" am: c8964edb7e am: b9eca0256c
am: cad8a4fbe9

Change-Id: Ib6b224bb5768d7b327d89341b1e832f97bb83e46
2019-03-01 07:53:07 -08:00
Bowgo Tsai
cad8a4fbe9 Merge "fs_mgr: fix fs_mgr avb_keys parsing problem" am: c8964edb7e
am: b9eca0256c

Change-Id: I6adf90ef2308d87e830fb43b5b763dca2f903a37
2019-03-01 07:48:22 -08:00
Bowgo Tsai
b9eca0256c Merge "fs_mgr: fix fs_mgr avb_keys parsing problem"
am: c8964edb7e

Change-Id: I5c032f678e49947e972a73335b40fdcc71187561
2019-03-01 07:41:48 -08:00
Treehugger Robot
c8964edb7e Merge "fs_mgr: fix fs_mgr avb_keys parsing problem" 2019-03-01 15:31:47 +00:00
Josh Gao
291f29613c Merge "adbd: fix a case where we can fail to join a thread." am: b530537d46 am: ace5a7c799
am: ee76606206

Change-Id: Ic09c38e919a1d1d12308504b4cbe2d388b94c42d
2019-03-01 02:30:19 -08:00
Josh Gao
b67e5cd91d Merge changes I4d351f56,Ib9e91157 am: 7669ea5a44 am: 68f136b407
am: a7140a1222

Change-Id: I403b2d6c59dcc16a8853ffccdc40eba5984699f4
2019-03-01 02:29:03 -08:00
Dima Zavin
c2ae6003b7 Merge changes Ia3bba21c,I0ffc159b am: 83d9b680f5 am: 0bb3fd4dbb
am: ce8af7f891

Change-Id: I6acc9f7eda949e21974a15ecb86409e3c5559861
2019-03-01 02:28:02 -08:00
Josh Gao
ee76606206 Merge "adbd: fix a case where we can fail to join a thread." am: b530537d46
am: ace5a7c799

Change-Id: I99042d0d5e68dfb0a9ae63e78c9974c1c8d90fa2
2019-03-01 02:25:18 -08:00
Josh Gao
a7140a1222 Merge changes I4d351f56,Ib9e91157 am: 7669ea5a44
am: 68f136b407

Change-Id: Ie85a7e4c5a1c0f775ba766dfedc858183fc90175
2019-03-01 02:24:33 -08:00
Dima Zavin
ce8af7f891 Merge changes Ia3bba21c,I0ffc159b am: 83d9b680f5
am: 0bb3fd4dbb

Change-Id: Ife426c31d9b3a88a3fe4ec6fbe6fabd95c1324e3
2019-03-01 02:23:48 -08:00
Josh Gao
ace5a7c799 Merge "adbd: fix a case where we can fail to join a thread."
am: b530537d46

Change-Id: Ie36cec5292121754944626db5c615e42fc276102
2019-03-01 02:21:42 -08:00
Josh Gao
68f136b407 Merge changes I4d351f56,Ib9e91157
am: 7669ea5a44

Change-Id: I4336eebc399cef4df8157a00f186379a2b2e376f
2019-03-01 02:20:59 -08:00
Dima Zavin
0bb3fd4dbb Merge changes Ia3bba21c,I0ffc159b
am: 83d9b680f5

Change-Id: I3dc5a30f40b3066f08bbefc43fca2066967a619f
2019-03-01 02:19:58 -08:00
Josh Gao
b530537d46 Merge "adbd: fix a case where we can fail to join a thread." 2019-03-01 10:16:46 +00:00
Josh Gao
7669ea5a44 Merge changes I4d351f56,Ib9e91157
* changes:
  adbd: tune USB read/write sizes and queue depths.
  adb: add benchmarks for sink/source.
2019-03-01 10:15:54 +00:00
Dima Zavin
83d9b680f5 Merge changes Ia3bba21c,I0ffc159b
* changes:
  fastboot: reset timeout if INFO is received during long commands
  fastboot: switch the timeout clock source to steady_clock
2019-03-01 10:12:39 +00:00
Josh Gao
5841a96afc adbd: tune USB read/write sizes and queue depths.
Reduce the operation sizes to sizes that are small enough that the
kernel will run the OOM killer to try to make them succeed. Compensate
for the smaller operation sizes by increasing the queue depth.

Bug: http://b/126582877
Test: benchmark_device.py
Change-Id: I4d351f56c8f83fea882614238cc3fec8ba1e9bf9
2019-02-28 15:53:48 -08:00
Josh Gao
b416f2252e adb: add benchmarks for sink/source.
Test: ./benchmark_device.py
Change-Id: Ib9e911574be3afa94efcfd9bc5be0a5cf7b9e2c0
2019-02-28 15:53:48 -08:00
Dima Zavin
6d46a4975e fastboot: reset timeout if INFO is received during long commands
As part of a refactor, commit db511207ed
added a timeout for receving responses for commands. Unfortunately,
the timeout is optimistic as to how quickly target devices can complete
such operations. Flash and erase commands can be quite slow on devices
with traditional flash chips. The fastboot protocol is already adept
at handling such cases because it allows for sending INFO packets during
these periods. We may receive one or more INFO packets during tehse long
operations. Every time we receive an INFO packet, it proves the remote
end is alive, but busy, which should reset our timeout timer.

Change-Id: Ia3bba21c497b22639b626d89711ecd4eb02504ed
Signed-off-by: Dima Zavin <dmitriyz@waymo.com>
2019-02-28 14:55:49 -08:00
Dima Zavin
a5b85a431e fastboot: switch the timeout clock source to steady_clock
Previously, system_clock was used for remote command timeouts
which can get disturbed by NTP adjustments (jumps).

Change-Id: I0ffc159bf34d12e8d3713044524114d60a6a45ca
Signed-off-by: Dima Zavin <dmitriyz@waymo.com>
2019-02-28 14:55:48 -08:00
Josh Gao
e778b3ad71 adbd: fix a case where we can fail to join a thread.
Bug: http://b/126703621
Change-Id: I3061d24bbdc154ebf1f9e3f5a903f01382fa518f
2019-02-28 13:53:24 -08:00
Greg Kaiser
6917688a63 Merge "libfs_avb: Pass const string by reference" am: 949a561cfa am: 0e1a78266b
am: 54a2495dfb

Change-Id: Ie89e0cf2b182adbf0fea18a76c8f677d0b1cfbeb
2019-02-28 11:15:37 -08:00
Greg Kaiser
54a2495dfb Merge "libfs_avb: Pass const string by reference" am: 949a561cfa
am: 0e1a78266b

Change-Id: Ia1702371aa34c4ff36f27d41d4a0f02e121743a0
2019-02-28 11:10:28 -08:00
Greg Kaiser
0e1a78266b Merge "libfs_avb: Pass const string by reference"
am: 949a561cfa

Change-Id: I260eaae7e7b2951c5e7824618eb45e9ecac0879b
2019-02-28 11:06:18 -08:00
Treehugger Robot
949a561cfa Merge "libfs_avb: Pass const string by reference" 2019-02-28 18:53:27 +00:00
Rick Yiu
067c38acd9 Merge "Unify some text format in task_profiles.json" am: 51eba0944a am: 08faeaf126
am: 4dcddd2133

Change-Id: I7a188751c9351468332093bb9db32dc4ed11a750
2019-02-28 07:31:57 -08:00
Rick Yiu
4dcddd2133 Merge "Unify some text format in task_profiles.json" am: 51eba0944a
am: 08faeaf126

Change-Id: Ie56b500563ce7849f0ac0e6f1b09dd3db88649a0
2019-02-28 07:28:09 -08:00
Rick Yiu
08faeaf126 Merge "Unify some text format in task_profiles.json"
am: 51eba0944a

Change-Id: Ic76ff997a4c95c7959250fa9d0134a6233132856
2019-02-28 07:24:02 -08:00
Treehugger Robot
51eba0944a Merge "Unify some text format in task_profiles.json" 2019-02-28 15:15:20 +00:00
Greg Kaiser
4d6f4cc4fe libfs_avb: Pass const string by reference
Minor performance improvement for ValidatePublicKeyBlob().

Test: TreeHugger
Change-Id: I3498b529abedb8169d2488a2dc04cbd42cdb6f7d
2019-02-28 06:34:25 -08:00
Josh Gao
ae084ea9e4 Merge "adbd: limit the sizes of aio writes." am: 50cb647e7d am: c423d790b7
am: 57ba09aea9

Change-Id: Ib6c09a5dbddea768eed6fa4570067c4d8bb42045
2019-02-27 23:43:03 -08:00
Josh Gao
57ba09aea9 Merge "adbd: limit the sizes of aio writes." am: 50cb647e7d
am: c423d790b7

Change-Id: Ic71e98f05911f9b0a3e3142774addbc21c588ea0
2019-02-27 23:38:54 -08:00
Josh Gao
c423d790b7 Merge "adbd: limit the sizes of aio writes."
am: 50cb647e7d

Change-Id: I897cad37099350ebf0e7776bcdd4a95cb9a872e5
2019-02-27 23:34:44 -08:00
Josh Gao
50cb647e7d Merge "adbd: limit the sizes of aio writes." 2019-02-28 07:25:21 +00:00
Bowgo Tsai
d214b40685 fs_mgr: fix fs_mgr avb_keys parsing problem
We should check if the fs_mgr option starts with "avb_keys" before
"avb". Otherwise, it will treat "avb_keys" as "avb" fs_mgr option.

Bug: 112103720
Test: atest fs_mgr_unit_test

Change-Id: I88446222fa88e8ecfcd6f96d30ad4336ebe146a8
2019-02-28 10:37:37 +08:00
Bowgo Tsai
d821ae98b9 Merge "libfs_avb: support key rotation for standalone partitions" am: 33f344cb36 am: 68d33d7f5f
am: 60e6574e11

Change-Id: I1eb219dc02cfc984813b065ccaba1462c2260991
2019-02-27 17:31:25 -08:00
Bowgo Tsai
60e6574e11 Merge "libfs_avb: support key rotation for standalone partitions" am: 33f344cb36
am: 68d33d7f5f

Change-Id: I644b161773fbb10b616830bf0c89d687010dec20
2019-02-27 17:27:16 -08:00
Bowgo Tsai
68d33d7f5f Merge "libfs_avb: support key rotation for standalone partitions"
am: 33f344cb36

Change-Id: I78862da2ec748844beaee2b11a20163e6c1a9247
2019-02-27 17:23:04 -08:00
Treehugger Robot
33f344cb36 Merge "libfs_avb: support key rotation for standalone partitions" 2019-02-28 01:13:20 +00:00
Mark Salyzyn
9a4276e4db Merge changes I7a2dd830,I6ce43725,I5fc2f370,Ibc2e14bd,Idf213800, ... am: c620f4a1b8 am: 38ab1b9ec0
am: f87ae6e2df

Change-Id: I5bb01fc8d123c867ed25f1e651c02318c99a0ef9
2019-02-27 16:27:52 -08:00
Josh Gao
86b33be035 adbd: limit the sizes of aio writes.
The kernel does a kmalloc of the write size for each write during
io_submit, which can lead to failure if the kernel's heap is fragmented
such that it can't allocate a contiguous 1MB chunk. Partition writes
into 16 page chunks which are much more likely to succeed.

Bug: http://b/126582877
Test: test_device.py
Change-Id: Ib2d48561594e1d81f1a2f62e34eaa40265ac47c4
2019-02-27 15:45:59 -08:00
Mark Salyzyn
f87ae6e2df Merge changes I7a2dd830,I6ce43725,I5fc2f370,Ibc2e14bd,Idf213800, ... am: c620f4a1b8
am: 38ab1b9ec0

Change-Id: Ic253b3ec75639c166cec9b6565c1febc8d496326
2019-02-27 15:36:51 -08:00
Mark Salyzyn
38ab1b9ec0 Merge changes I7a2dd830,I6ce43725,I5fc2f370,Ibc2e14bd,Idf213800, ...
am: c620f4a1b8

Change-Id: I4ec1c0d85eca768562d7d91eb89205c04d72aa6c
2019-02-27 15:27:54 -08:00
Treehugger Robot
c620f4a1b8 Merge changes I7a2dd830,I6ce43725,I5fc2f370,Ibc2e14bd,Idf213800, ...
* changes:
  fs_mgr_remount: support legacy devices (marlin)
  fs_mgr: remount: add -R argument
  fs_mgr: remount: add -T fstab argument
  fs_mgr: remount: log to stderr and logd
  fs_mgr: add remount command
  fs_mgr: overlayfs: test: add inRecovery check
2019-02-27 23:14:43 +00:00
Mark Salyzyn
4469fb1c06 fs_mgr_remount: support legacy devices (marlin)
Deal with first version of verity for legacy products.

Test: system/core/fs_mgr/tests/adb-remount-test.sh
Bug: 120448575
Bug: 123079041
Change-Id: I7a2dd8309cbb19751fdbb05d4efc30c486615e04
2019-02-27 13:03:13 -08:00
Mark Salyzyn
1188ce4e1d fs_mgr: remount: add -R argument
The -R flag tells remount it can reboot to disable verity or to
run fsck on an ext4 deduped filesystem, or both.

Testing may include a manual component because adb-remount-test.sh
needs to run from a device in an enable-verity state to test this.

Only recognizes chained avb.

Test: adb-remount-test.sh
Bug: 122602260
Change-Id: I6ce4372532d9b933dcca9e2bec544d525b76c4d9
2019-02-27 13:03:13 -08:00
Mark Salyzyn
8c07db6a6b fs_mgr: remount: add -T fstab argument
Allow selection of an fstab file.  This is to mirror the built-in
functionality associated with init mount_all <fstab> command.

Test: adb-remount-test.sh
Bug: 122602260
Change-Id: I5fc2f3707c1dafd687c826eaccbaab03a408035b
2019-02-27 13:03:13 -08:00
Mark Salyzyn
75941f2c9c fs_mgr: remount: log to stderr and logd
Logging normally goes to stderr, also send output redirected to the
Android Logger.  Required if command is exec'd, useful if commanded
from shell.

Test: manual confirmation of both outputs.
Bug: 122602260
Change-Id: Ibc2e14bd4fad561514c0c33741da8ca6f00af3f3
2019-02-27 13:03:13 -08:00
Mark Salyzyn
6b3f587ac7 fs_mgr: add remount command
There is currently no good option for callers to setup overlayfs
on-device, it is automated as part of the adb services.  Add a
remount command that does what is needed that simulates the salient
behaviors of the adb remount command.

Clean up some noise restoring device to original state when done.

Test: adb-remount-test.sh
Bug: 122602260
Change-Id: Idf213800a8182cb1c51600c8f574df8a8cd68d4a
2019-02-27 13:03:13 -08:00
Mark Salyzyn
6dc0dfe785 fs_mgr: overlayfs: test: add inRecovery check
Handle a device in recovery mode gracefully.  Handle a device
that fails to boot into a commanded state more gracefully.

Deal with regression where die() calls restore(), and we can not
have this under the conditions where we are ignoring the error
in a subshell.

Test: adb-remount-test.sh
Bug: 118225373
Bug: 123079041
Change-Id: Ie37beb245d0ec55eb00757cdb93da34ff9c42827
2019-02-27 13:03:08 -08:00