Commit graph

67588 commits

Author SHA1 Message Date
Artur Satayev
c19f99781b Export *CLASSPATH variables after apexes are configured.
For now, export the exact same values, on `post-fs-data` instead of on
`early-init` to soak the change. As a follow up, the actual values will
be generated by a new oneshot service.

See go/updatable-classpath for more details.

Bug: 180105615
Test: manual - device boots
Change-Id: I5f6826a0f87a5e01233e876d820e581feb555bca
2021-02-19 17:12:26 +00:00
Artur Satayev
500946b637 Introduce load_exports action.
The action reads a file with individual `export` actions declared on
each line, and calls `setenv` for each.

See go/updatable-classpath for details on how this is going to be used.

Bug: 180105615
Test: manual
Change-Id: I5390e52cf8ffd9c3babf31ed854eeecc727351eb
2021-02-19 17:12:26 +00:00
Florian Mayer
83eae36647 Merge "Allow to target atrace apps by glob." 2021-02-15 12:04:06 +00:00
Treehugger Robot
0130a782ec Merge changes from topic "uid_pid with recovery mode"
* changes:
  libprocessgroup: fix uid/pid hierarchy for recovery mode
  libprocessgroup: adopt cgroup v2 freezer search path
  Revert^4 "libprocessgroup: uid/pid hierarchy for cgroup v2"
2021-02-13 21:32:31 +00:00
Mohammad Islam
223902d81c Merge "Create an encrypted directory for decompressing compressed APEX" 2021-02-12 10:16:55 +00:00
Josh Gao
517d64f0c6 Merge "tombstone.proto: reserve numbers for future growth." 2021-02-12 02:58:17 +00:00
Marco Ballesio
9e628a6b42 libprocessgroup: fix uid/pid hierarchy for recovery mode
configure the cgroup v2 hierarchy for recovery mode, and create uid/pid
groups with attributes following the container cgroup directory.

Bug: 168907513
Test: verified correct pid migration in normal and recovery modes
Change-Id: Idc8b96b4db075383a6a2e523c241b0bc632c7030
2021-02-11 17:03:19 -08:00
Marco Ballesio
a7148f82a1 libprocessgroup: adopt cgroup v2 freezer search path
With the new uid/pid hierarchy the search path looks into uid_0, which
is always present.

Bug: 168907513
Test: verified that the cgroup v2 hierarchy works correctly in normal
mode
Test: verified that the cgroup v2 hierarchy works correctly in recovery
mode

Change-Id: If33594e4891128148da64bed47e68fa74667013d
2021-02-11 17:03:06 -08:00
Marco Ballesio
4dac81680f Revert^4 "libprocessgroup: uid/pid hierarchy for cgroup v2"
This reverts commit 088924af2a.

Bug: 168907513
Test: verified correct function of the cgroup v2 hierarchy in normal and
recovery mode

Change-Id: I6e9d21ebe832326ed5a5b2c356fe8363c1546a80
2021-02-11 15:01:43 -08:00
Tri Vo
83e66f792e Merge changes I9e4cbf11,I41cde13a
* changes:
  trusty: Allow fuzzing without coverage
  trusty: Fix up error messages
2021-02-11 22:39:29 +00:00
Florian Mayer
f124707283 Allow to target atrace apps by glob.
Test: Run trace against "com.google.android.*" and use camera.
Bug: 180021291
Change-Id: I9baa7847476b152284e7557e27f1eba1ee835695
2021-02-11 19:31:48 +00:00
Elliott Hughes
3e455e3ae1 Merge "Remove special config for /dev/hw_random." 2021-02-11 18:04:45 +00:00
Mitch Phillips
3e01373d3a Merge "[GWP-ASan] Update metadata field name." 2021-02-11 05:47:33 +00:00
Josh Gao
fc4fb216d1 tombstone.proto: reserve numbers for future growth.
Test: treehugger
Change-Id: I66adbe70e95363b0083d6eed746de3bc6d17ae28
2021-02-10 16:59:50 -08:00
Tri Vo
19eccb4f51 trusty: Allow fuzzing without coverage
Bug: 171750250
Test: m
Change-Id: I9e4cbf11fd223092f9ad800b35d0502c27f71e8f
2021-02-10 16:46:24 -08:00
Elliott Hughes
61fb3d0b69 Remove special config for /dev/hw_random.
There's no need for system_server to access this any more, so no need to
have weaker permissions than we'll get by default (ignoring the fact
that SELinux policy is our real protection here anyway).

Bug: http://b/179086242
Test: treehugger
Change-Id: I584e87f027f44e10190c2e5c2eb85785f61f8bd5
2021-02-10 15:13:46 -08:00
Treehugger Robot
23a1348509 Merge "BatteryMonitor: Add helper of logValues()" 2021-02-10 23:03:44 +00:00
Tri Vo
ce812a22ca trusty: Fix up error messages
Bug: 171750250
Test: m
Change-Id: I41cde13a891da36c85df6a451b2d051c18365797
2021-02-10 13:31:24 -08:00
Mitch Phillips
2aaad2a696 [GWP-ASan] Update metadata field name.
Bug: N/A
Test: Build succeeds.
Change-Id: I889fbc6722695c9c738352c174c8817548a0faa1
2021-02-10 11:38:28 -08:00
Akilesh Kailash
7cd1c03178 Merge "libsnapshot:snapuserd: Batch merge copy operation" 2021-02-10 05:08:48 +00:00
Alistair Delva
0893839385 Merge "Create /data/misc/a11ytrace folder to store accessibility trace data." 2021-02-10 04:13:35 +00:00
Akilesh Kailash
b5f0a3b73b Merge "libsnapshot: No transition of snapuserd during second stage init" 2021-02-10 00:35:23 +00:00
Akilesh Kailash
66914e2b2e libsnapshot:snapuserd: Batch merge copy operation
Allow batch merge of copy operations during merge.
When metadata is read from COW device, assign
the chunk-id by validating there is no overlap
of copy operations. Furthermore, detect the blocks
which are contiguous and batch merge them.

No regression in merge time for full OTA (~35-40 seconds)

Merge time for incremental OTA of ~200M takes about 2 minutes
as compared to 15-20+ minutes without this change.

Add unit test to test ReadMetadata() functionality.

Multiple incremental OTA and full OTA test done on pixel.
adb reboot during merge and validate the merge resume operations.

Bug: 179629624
Test: incremental OTA and full OTA on pixel,
      cow_snapuserd_test
Signed-off-by: Akilesh Kailash <akailash@google.com>
Change-Id: I4cd84e4923e42afacc796b8cec01738b1bb1f420
2021-02-09 23:53:49 +00:00
Akilesh Kailash
03e803455e libsnapshot: No transition of snapuserd during second stage init
When there is a transition of daemon from selinux stage, we observe
intermittent hangs during OTA. This is a workaround wherein
we don't do the transition and allow the daemon to continue which
was spawned during selinux stage.

Bug: 179331261
Test: Incremental OTA, full OTA on pixel
Signed-off-by: Akilesh Kailash <akailash@google.com>
Change-Id: I622a0ed8afcd404bac4919b1de00728de2c12eaf
2021-02-09 22:45:29 +00:00
Treehugger Robot
dc0ea9d65e Merge "adb-remount-test.sh: Fix failure due to missing host tool hexdump" 2021-02-09 21:52:19 +00:00
Hongming Jin
87f55fe2af Create /data/misc/a11ytrace folder to store accessibility trace data.
Bug: 157601519
Test: manual check
Change-Id: I0a12246c8b30e8c68e1dd1fa80135f8945f343dc
2021-02-09 11:54:46 -08:00
Treehugger Robot
cb9e1decf0 Merge "Relax the language around parallel_restorecon." 2021-02-09 08:32:24 +00:00
Yi-Yo Chiang
fa405414d7 adb-remount-test.sh: Fix failure due to missing host tool hexdump
As we are just using it to generate gibberish, we might as well just
hardcode the gibberish in the script.

Also fix unhandled `grep` failure.

Bug: 179752308
Test: Forrest
Change-Id: I534c7cacdb12a104f26d380fe3a571332091490e
2021-02-09 16:11:23 +08:00
David Anderson
bb159ad483 Relax the language around parallel_restorecon.
Bug: 179702321
Change-Id: I030c861d1e676bca63a25317a509fcd2438b664e
2021-02-08 22:30:39 -08:00
Treehugger Robot
c9924a763d Merge "libfs_avb: verifying vbmeta digest early" 2021-02-09 01:20:20 +00:00
Yifan Hong
605e7d20ee BatteryMonitor: Add helper of logValues()
... that logs values for an arbitrary health info and
health config.

This allows health 2.1 HAL implementation to log the
updated health info struct, which is not stored in
BatteryMonitor.

Test: healthd kernel log has correct values
Bug: 179326883
Change-Id: I394ef3f317229f94f4db82de5635d9380c183394
2021-02-08 15:22:28 -08:00
Yifan Hong
2277c27fcc Merge "Add compression to dump" 2021-02-08 22:47:05 +00:00
Treehugger Robot
a24aef614a Merge "libsnapshot: Disable the update space swap test on non-VABC." 2021-02-08 21:31:13 +00:00
Treehugger Robot
20bf5a8aff Merge "Add support for compressed snapshot merges in fastboot." 2021-02-08 21:30:11 +00:00
Yifan Hong
3e6b93ca11 Merge "libsnapshot: Communicate compression status to update_engine." 2021-02-08 21:13:10 +00:00
Treehugger Robot
4abe7c4165 Merge "Unlink the tombstone proto file before linking the temporary fd." 2021-02-08 19:23:44 +00:00
Treehugger Robot
bbae54c2f6 Merge changes from topic "freezer path"
* changes:
  libprocessgroup: define path for freezer search
  Revert^3 "libprocessgroup: move freezer to uid/pid hierarchy"
2021-02-08 17:19:50 +00:00
Bowgo Tsai
ec10d3cf6e libfs_avb: verifying vbmeta digest early
We should check FLAGS_VERIFICATION_DISABLED is set or not
after verifying the vbmeta digest against `androidboot.vbmeta.digest`
from bootloader. This is to ensure the /vbmeta content is not
changed since the bootloader has verified it.

We still allow vbmeta digest verification error if the device is
unlocked. Note that this change will introduce a limitation that
the device will not boot if:

  1. The image is signed with FLAGS_VERIFICATION_DISABLED is set
  2. The device state is locked

However, it should not be a concern as we shouldn't boot a locked
device without verification.

Bug: 179452884
Test: build image with BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flag 2,
      boot the device, then `adb shell touch /metadata/gsi/dsu/avb_enforce`.
      Reboot the device, checks the device does not boot because
      `androidboot.vbmeta.digest` is empty but AVB is enforced.

Change-Id: Id15a25403d16b36d528dc3b8998910807e801ad2
2021-02-08 21:36:15 +08:00
Julien Desprez
e1ee7873b3 Merge "Update bootstat_test to really work host-side" 2021-02-06 04:32:57 +00:00
Elliott Hughes
b363fc8b74 Merge "Let the kernel hwrng thread manage hw_random mixing." 2021-02-06 00:52:19 +00:00
Ady Abraham
f633b918da Merge "Remove stoza@ from OWNERS" 2021-02-06 00:49:16 +00:00
Peter Collingbourne
1e1d920785 Unlink the tombstone proto file before linking the temporary fd.
We were already doing this for the text tombstones but not for protos,
which meant that we stopped producing protos once we hit the limit
on the number of tombstones. Move the code for the text tombstones
into a common location and call it for both types.

Change-Id: I4951150da51a32d50821d147458fc5c18200c9d4
2021-02-05 16:41:48 -08:00
Josh Gao
3a2f885ec6 Merge "Let system_server truncate tombstones." 2021-02-05 20:35:19 +00:00
Marco Ballesio
23fddab32b libprocessgroup: define path for freezer search
This path can be used for clients to verify freezer support on a
specific platform.

Bug: 168058155
Test: verified correct functioning with ActivityManager
Change-Id: Ie15feed274ccbbe31228ee98c50eab3f4dd479a7
2021-02-05 12:20:56 -08:00
Marco Ballesio
079477468f Revert^3 "libprocessgroup: move freezer to uid/pid hierarchy"
This reverts commit 7707909ba2.
Bug: 179006802
Test: verified correct functioning of the freezer after reverting

Change-Id: I848146a18a0879010abf5b00e7081f2771059064
2021-02-05 12:19:58 -08:00
Elliott Hughes
eedd38a82a Let the kernel hwrng thread manage hw_random mixing.
This has been something the kernel does automatically since 2014, so
there's no obvious reason to add extra work during boot to duplicate
that effort.

Bug: http://b/179086242
Test: treehugger
Change-Id: I44cce99a892e4f2a6a303c2126bd29f955f5fb23
2021-02-05 11:10:00 -08:00
Julien Desprez
2c8cb01b5a Update bootstat_test to really work host-side
bootstat_test is marked host_supported:true but use
a AndroidTest.xml config that can only work for device.

Deleting the explict config to rely on the auto-gen ones.
Adding unit_tests:true to run in presubmit

Test: presubmit, atest bootstat_tests --host
Bug: 179092189
Change-Id: Ib6694f760d9ef5f867cd1982f7e1fe65ce9dd62d
2021-02-05 17:26:21 +00:00
David Anderson
565577f926 Add support for compressed snapshot merges in fastboot.
SnapshotManager::New() is now preferred in recovery. Previously we used
NewForFirstStageMount(), which is technically incorrect as that enables
code paths specifically for first-stage init.

We also explicitly label the snapuserd context, since rootfs in recovery
has unlabelled files.

Finally, we add a timeout to internal calls to
CreateSnapshotsAndLogicalPartitions. Without this, WaitForDevice() calls
will terminate immediately, which breaks VABC given the more complex
device stacking that is created.

Bug: 168258606
Test: fastboot snapshot-update merge
Change-Id: I3a663b95c0b1eabaf14e6fde409c6902653c3c5e
2021-02-04 20:21:18 -08:00
Yo Chiang
df33cb98ef Merge "fs_mgr: Harden adb-remount-test.sh by ERR trap handler" 2021-02-05 03:41:32 +00:00
Treehugger Robot
fe13d497f4 Merge "Symbol files describing APIs across updatable components are reviewed" 2021-02-05 03:12:45 +00:00