Commit graph

57365 commits

Author SHA1 Message Date
Treehugger Robot
25a96e44ca Merge "init_kill_services_test: also reboot after" 2020-05-18 17:42:29 +00:00
Treehugger Robot
4222040bd5 Merge "fastbootd: Support TCP protocol." 2020-05-18 17:05:43 +00:00
Tom Cherry
e82dcdcdf0 Merge "logd: don't use libcutils properties" 2020-05-18 15:37:03 +00:00
Tom Cherry
00d490e0fa Merge "logd: remove class LogCommand, rename LogCommand.cpp to LogPermissions.cpp" 2020-05-18 15:36:55 +00:00
Treehugger Robot
fba5028d56 Merge "init: support wait timeout with more precision" 2020-05-18 13:14:36 +00:00
Treehugger Robot
cc20ae7733 Merge "add API to get hash descriptor" 2020-05-18 07:02:12 +00:00
Jiyong Park
747eb1a6b7 Merge "Set apex_available property" 2020-05-18 05:46:22 +00:00
Jiyong Park
16a932a4ef Set apex_available property
The marked library(ies) were available to the APEXes via the
hand-written whitelist in build/soong/apex/apex.go. Trying to remove the
whitelist by adding apex_available property to the Android.bp of the
libraries.

Exempt-From-Owner-Approval: cherry-pick from internal

Bug: 150999716
Test: m
Merged-In: I54db09314c7236a227f04281a439c1d5dc56ef2c
Change-Id: I54db09314c7236a227f04281a439c1d5dc56ef2c
(cherry picked from commit a2606921b2)
2020-05-18 13:30:25 +09:00
Jooyung Han
6ee70c0dd3 Merge "backtrace: Set min_sdk_version" 2020-05-18 03:35:19 +00:00
Steve Muckle
a90bfdd874 add API to get hash descriptor
The GKI verification VTS test will need to examine the boot partition's
hash descriptor, so add support to access this descriptor.

Bug: 148800209
Test: atest AvbTest#Boot
Change-Id: I92e32f61a265671ae0940c44147391f73776e66a
2020-05-17 17:06:59 -07:00
Treehugger Robot
f464e6e0ac Merge "Remove /default.prop" 2020-05-16 08:39:56 +00:00
Tom Cherry
4e9bf955d6 logd: remove class LogCommand, rename LogCommand.cpp to LogPermissions.cpp
class LogCommand isn't needed, so remove it.  Since the rest of
LogCommand.cpp only has to do with permissions, rename it
appropriately.

Test: logging unit tests
Change-Id: I32d09c74d00b6e50083e46832eca3dd886b46682
2020-05-15 11:58:47 -07:00
Tom Cherry
227dd4f807 Merge "logd: remove SocketClient from LogBuffer and LogBufferElement" 2020-05-15 18:45:21 +00:00
Tom Cherry
a8c7f30651 logd: don't use libcutils properties
This is the only non-socket usage of libcutils.

Test: logging unit tests
Change-Id: Ia9877ddb32da4955a818299c109e5c639423a9fd
2020-05-15 10:26:09 -07:00
Neil Fuller
75f8236bb9 Merge "Revert "libsnapshot_fuzzer: Add tests"" 2020-05-15 15:49:54 +00:00
Neil Fuller
254b9046f7 Revert "libsnapshot_fuzzer: Add tests"
This reverts commit 51bfe08d84.

Reason for revert: Investigating possible connection to http://b/156689792

Change-Id: Idd779815940e3835bc0b86103ef016141d48ce7f
2020-05-15 10:37:56 +00:00
Treehugger Robot
f947d50395 Merge "Passing additional flags to incremental installation." 2020-05-15 05:53:14 +00:00
Tom Cherry
283c9a1c00 logd: remove SocketClient from LogBuffer and LogBufferElement
In the future, we'll want to be able to write to outputs that are not
necessarily a libsysutils SocketClient, for example host tests of
LogBuffer.  Therefore, we add a LogWriter class to be used instead of
SocketClient.

Test: logging unit tests
Change-Id: I4385be65e14e83a635691a7ba79e9bf060e49484
2020-05-14 19:53:45 -07:00
Treehugger Robot
e31d8bf133 Merge "Temporarily disable init_kill_services_test." 2020-05-15 02:34:43 +00:00
Treehugger Robot
a782da9b3e Merge changes from topic "remove_default_prop"
* changes:
  Remove /system/etc/prop.default
  /vendor/default.prop is removed.
2020-05-15 02:12:49 +00:00
Mark Salyzyn
ffa52e9c6f init: support wait timeout with more precision
A one second timeout is so coarse and can affect boot time when
the possibility that the file does not exist.  Switch to accepting
a floating point number for seconds for the wait for file command.

Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 151950334
Test: wait_for_file sleep 0.05 reports an appropriate delay
Change-Id: I8d8ed386519ab54270b05ce91663d0add30f12e7
2020-05-15 01:18:24 +00:00
Steven Moreland
d642fe4985 init_kill_services_test: also reboot after
See details in comment inside. This is to increase stability of the
device. There are some thing we might not detect (yet) but which cause
the test to fail.

Bug: 156380383
Test: run on walleye
Change-Id: Ic0189af7e818916665a2b709d440c517a04c587f
2020-05-15 01:14:04 +00:00
Alex Buynytskyy
04aa5bedcc Passing additional flags to incremental installation.
Bug: 150803885
Test: atest adb_test adbd_test fastdeploy_test
Change-Id: Ifa9b9e570259d35eb0121817bbb791044c6efcfd
2020-05-14 13:58:47 -07:00
Yifan Hong
fa8bf5be4e Merge changes from topic "snapshot_fuzz"
* changes:
  libsnapshot_fuzzer: Add tests
  libsnapshot_fuzzer: add initial corpus
  libsnapshot_fuzzer: Attempt to cleanup env before and after
  libsnapshot_fuzzer: add new test directive to switch slot
  libsnapshot_fuzzer: mount data image
  libsnapshot_fuzzer: also create snapshots dir
  libsnapshot_fuzzer: Add ZERO to operation types
2020-05-14 20:41:08 +00:00
Treehugger Robot
7c1c167307 Merge "init: failed to set sys.usb.controller" 2020-05-14 18:57:31 +00:00
Steven Moreland
bd68757d44 Temporarily disable init_kill_services_test.
This is causing some device instability.

Bug: 156380383
Test: n/A
Change-Id: I2ae34618db94df8fddab262311bd8e383642e10f
2020-05-14 16:58:33 +00:00
Jiyong Park
c688e8fcce Remove /default.prop
The file is removed. init no longer needs to read it.

Bug: 117892318
Test: TH passes on non-Treble devices.
Change-Id: Idc4127bad66db24c7033b47c41b9eb85a5e0a5cd
2020-05-14 17:09:26 +09:00
Jiyong Park
c068d0e0ef Remove /system/etc/prop.default
Contents that were in /system/etc/prop.default are now in
/system/build.prop.

The content is placed at the top of build.prop to keep the existing
order between the two files.

Caveat #1: /prop.default still remains for non-Treble devices.

Caveat #2: ReadFileSymbolicLink test was changed to read /system/bin/ps
because /prop.default is no longer guaranteed to exist.

Bug: 117892318
Test: TH passes
Test: inspect  /system/build.prop and check if it has contents from
the old /system/etc/prop.default file

Change-Id: I0d3f96c1656dfe02bfa0e801680f7fa887afd1d9
2020-05-14 16:19:33 +09:00
Jiyong Park
8569552ec2 /vendor/default.prop is removed.
It is merged to /vendor/build.prop. However, for backwards
compatibility, the old file is read on devices running R or earlier.

Bug: 117892318
Test: TH passes
Test: inspect  /vendor/build.prop and check if it has contents from
the old /vendor/default.prop file
Change-Id: I994cc85fc0765bc9233e9799bcb670a23180f068
2020-05-14 16:19:32 +09:00
Mark Salyzyn
150687b87d init: failed to set sys.usb.controller
With GKI we find in certain situations the timing of the drivers
loading is delayed as compared to a monolithic kernel.  This
introduces a race where during second stage init, the attributes
inside /sys/class/udc/ might not be set by the time
SetUsbController() is called.

To address this, we also call SetUsbController() until the property
sys.usb.controller is set at the bottom of the event loop.

Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 151950334
Test: make sure user space fastbootd comes up reliably for a GKI kernel
Change-Id: Iececd8ffa3e6641554d215d622d8dab72d85d34d
2020-05-13 17:56:31 -07:00
Christopher Ferris
5133bbfd34 Merge "Add new LocalUpdatableMaps benchmarks." 2020-05-14 00:18:27 +00:00
Tom Cherry
17e8605bcf Merge "logd: enable LTO" 2020-05-13 20:51:57 +00:00
Nikita Ioffe
ae6cab0406 Merge "Make /data/apex/active world readable" 2020-05-13 20:15:12 +00:00
Treehugger Robot
37f45fcd3b Merge "fastbootd: copy AVB footer on boot image to end of block device" 2020-05-13 19:38:03 +00:00
Tom Cherry
72f1aa8bf2 logd: enable LTO
Logd is self contained so LTO should be net beneficial.

Bug: 155322981
Test: logging unit tests
Change-Id: I7e26fcf15a7886ed537685d921428c679d7390f8
2020-05-13 11:04:02 -07:00
Tom Cherry
0b3f9567c5 Merge changes I5731d640,Ia874b57a
* changes:
  logd: make LogBuffer an interface
  logd: refactor LastLogTimes a bit
2020-05-13 16:08:44 +00:00
Treehugger Robot
b6a6023bda Merge "Make some fdevent member functions pure virtual." 2020-05-13 03:31:03 +00:00
Jooyung Han
bc62a19448 backtrace: Set min_sdk_version
Modules contributing mainline modules (APK/APEX) should set
min_sdk_version as well as apex_available.

For now setting min_sdk_version doesn't change build outputs.
But build-time checks will be added soon.

Bug: 152655956
Test: m
Change-Id: I9ff06ca47c8bc2cc5632ffb3494e4fb8eb79d5a3
2020-05-13 12:00:40 +09:00
Hongguang Chen
1e239289d5 fastbootd: Support TCP protocol.
The current fastbootd only supports USB protocol. But some Android TV
devices are built without USB port. The fastbootd cannot be used on
those ATV devices due to it.
This change adds TCP protocol for such devices and fastbootd.protocol
property is added to control which protocol to use.

BUG: 152544169
Test: manual test.
Change-Id: Idc391e677eb6a1880036419ba5f6c4160e8dbcbc
2020-05-13 01:25:58 +00:00
Jooyung Han
63d363baea Merge "Set min_sdk_version to be part of mainline modules" 2020-05-13 01:06:30 +00:00
Treehugger Robot
53053dd1b1 Merge "Add a few more trivial socket_spec.h tests." 2020-05-13 01:00:39 +00:00
Elliott Hughes
e65e002102 Add a few more trivial socket_spec.h tests.
Also remove some dead code. The "missing port" case in
parse_tcp_socket_spec hasn't been meaningful since we put the default
port back.

Test: treehugger
Change-Id: I40958f0f1c2dd7f0315142c2c0363a70fe6f80fe
2020-05-12 16:38:11 -07:00
Steve Muckle
a9b3443e53 fastbootd: copy AVB footer on boot image to end of block device
If the flashed boot image is smaller than the block device, the AVB
footer will not be at the end of the partition. Although images are
normally created to match the partition size the GKI boot.img must work
on all devices, and the size of the boot partition will vary.

Copy the AVB footer to the end of the partition before flashing, if it
is not there already.

Bug: 156036850
Change-Id: I11f0c7d32d1b6c74edd4f84f815d175605280cb8
2020-05-12 16:21:41 -07:00
Elliott Hughes
631fe1e6df Make some fdevent member functions pure virtual.
...because that makes our coverage numbers look better. But since there
are only two concrete classes anyway, we weren't gaining much from the
default implementation and it's arguably more intention-revealing now.

Test: treehugger
Change-Id: I7a8a3195023048b1a84277358b857222692d96ee
2020-05-12 16:18:52 -07:00
Jooyung Han
7ea0d74bc8 Set min_sdk_version to be part of mainline modules
Modules contributing mainline modules (APK/APEX) should set
min_sdk_version as well as apex_available.

For now setting min_sdk_version doesn't change build outputs.
But build-time checks will be added soon.

Bug: 152655956
Test: m
Change-Id: Ida890adfe6dfac79267fc0e18b63d2330266438c
2020-05-13 08:18:06 +09:00
Tom Cherry
d5b3838dbc logd: make LogBuffer an interface
We may use different implementations of LogBuffer in the future, so we
make it interface and create a concrete ChattyLogBuffer class that
implements it.

Test: logging unit tests
Change-Id: I5731d6404640664c9acc26b7c677dff3110c6a11
2020-05-12 15:39:19 -07:00
Tom Cherry
68630a0dbe logd: refactor LastLogTimes a bit
There's still plenty of work that can be done here, particularly
re-doing the locking so each LogReaderThread does not mutually exclude
the others, but that's out of the scope here.

This change primarily removes the public 'mTimes' from LogBuffer and
creates a new LogReaderList class instead.  It would have merged this
into LogReader, but that creates a circular dependency.

This change also removes the need to reference LogReader or
LogReaderList from LogAudit, LogKLog, and LogListener, instead relying
on LogBuffer()::log() to call LogReaderList::NotifyNewLog().

Test: logging unit tests
Change-Id: Ia874b57a9ec1254af1295bfa6f7af2f92a75755b
2020-05-12 15:39:11 -07:00
Treehugger Robot
18da289fac Merge "liblog: remove useless #define" 2020-05-12 19:49:26 +00:00
Treehugger Robot
a597f75045 Merge "logd: remove unnecessary static" 2020-05-12 19:28:52 +00:00
Tom Cherry
6a391e9eda liblog: remove useless #define
Neither android_logger_free nor android_logger_close exist.

Test: build
Change-Id: Ieb4d740c234b54db9278a21f07b0533c28b76baf
2020-05-12 10:44:22 -07:00