Commit graph

67438 commits

Author SHA1 Message Date
Wei Wang
398dad25da Merge changes I13c9660a,I41745e7b,I0e6722b8 am: 673b6d47bc
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1514907

Change-Id: Ib548fe1bb611a9ffb17dda634010b3f553e9af0e
2020-12-03 20:13:48 +00:00
Suren Baghdasaryan
756a60459c libprocessgroup: Change per-API level task profiles to override the diffs
Current per-API level task profiles replace the latest task profiles
rather than overriding the diffs. This poses an issue when a new
feature is added which is applicable to older devices as well we
have to change all per-API level profiles. Change the per-API task
profile support to load the latest task profiles first and then override
with per-API task profiles, similar to how vendor task profiles override
system task profiles. This minimizes the changes we need to do to the
per-API level task profiles going forward and is more consistent with
how vendor task profiles work.

Bug: 170507876
Test: boot with per-API task profiles
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I08cc4b374cede7363cf96a30ac96971d49bb7847
2020-12-03 19:39:31 +00:00
Wei Wang
673b6d47bc Merge changes I13c9660a,I41745e7b,I0e6722b8
* changes:
  init.rc: correct the obsolete comment
  Add system-background cpu group
  init.rc: create camera-deamon stune cgroup
2020-12-03 18:57:25 +00:00
David Anderson
831c717cdf Merge "libsnapshot: Don't package snapuserd.rc in /vendor/etc." am: b27b678195
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1515001

Change-Id: If6f689b1a6a6e308dcab99d0cd8b962fff436614
2020-12-03 06:11:05 +00:00
David Anderson
b27b678195 Merge "libsnapshot: Don't package snapuserd.rc in /vendor/etc." 2020-12-03 05:35:28 +00:00
Daniel Rosenberg
8603df2668 libsnapshot: Support cluster_ops in make_cow_from_ab_ota
Allows make_cow_from_ab_ota to specify cluster sizes with the
-cluster_ops flag.

Bug: 172026020
Test: make_cow_from_ab_ota -cluster_ops [n] [source] [dest folder]
Change-Id: Ia3aa8b3bb602944a9d4e9954be37afb262caf060
2020-12-02 21:31:23 -08:00
Daniel Rosenberg
d97386c3ad libsnapshot: Add silent option to inspect_cow
This adds the -s option to not print out Cow information, providing a
simple benchmark for reading and iterating through a cow file one time.

Bug: 172026020
Test: inspect cow -s [file]
Change-Id: I6e8b80a80c71155364b8467acd556d00f1dd2a42
2020-12-02 21:31:22 -08:00
Daniel Rosenberg
c62fdd91c0 libsnapshot: Group CowOperations into clusters
This introduces clusters of CowOperations to the Cow Format, improving
reader performance by allowing many operations to be read at once.

When the header's cluster_ops is a nonzero value, operations will be
clumped into packs of that number, where the last op is a special
CowClusterOp, which points to the start of the next cluster. Each
cluster is immediately followed by it's data, with the footer following
at the end of the file.

cluster_ops must not be 1, as we must include a CowClusterOp in each
group.

Change-Id: I2855288958d56569d4078f377ef0b8c01ca5c6e7
Bug: 172026020
Test: cow_api_test
2020-12-02 21:31:22 -08:00
Xin Li
ed5d1a981c Merge "Merge rvc-qpr-dev-plus-aosp-without-vendor@6881855" into stage-aosp-master 2020-12-03 03:18:52 +00:00
Akilesh Kailash
c294f82184 Merge changes I1dc28606,I4d77c435 am: dd58ffd1a6
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1511894

Change-Id: I47142bb516ec474c78d9324ef049a232b31426a4
2020-12-02 22:55:53 +00:00
Treehugger Robot
14b0ed2837 Merge "Add visibility for statsd in prep for migration." am: e248d1fa02
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1512675

Change-Id: Ic9791a70dd1d62d8d59fe0404348abf846d81a3b
2020-12-02 22:40:19 +00:00
Akilesh Kailash
dd58ffd1a6 Merge changes I1dc28606,I4d77c435
* changes:
  libsnapshot:VABC: Allow batch merge
  libsnaphot: Refactor cow_snapuserd test
2020-12-02 22:36:38 +00:00
Treehugger Robot
e248d1fa02 Merge "Add visibility for statsd in prep for migration." 2020-12-02 21:47:17 +00:00
Treehugger Robot
5d612dc613 Merge "libprocessgroup: uid/pid hierarchy for cgroup v2" am: 8d92971688
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1511692

Change-Id: I49e739c6d69b92403d30d80ee90b120ed27bcb82
2020-12-02 20:38:41 +00:00
Treehugger Robot
8d92971688 Merge "libprocessgroup: uid/pid hierarchy for cgroup v2" 2020-12-02 19:50:11 +00:00
Elliott Hughes
0675702c62 Make libcutils' thread local stuff more clearly deprecated.
libcutils' thread local stuff is almost unused already, so let's try
harder to prevent new users. (In parallel I'll try to actually move the
four existing users off it, so we can actually remove this.)

Test: treehugger
Change-Id: Ib5445a43cff1f161ce1c7a45959d5b126f6f6980
2020-12-02 11:22:29 -08:00
Marco Ballesio
4d45b59f80 libprocessgroup: uid/pid hierarchy for cgroup v2
Enable the uid/pid hierarchy for all groups when using cgroup v2. Mount
the hierarchy under the cgroup v2 root. Make sure that all files under
the hierarchy are accessible by the system user.

Test: booted the device, tested the freezer cgroup, manually verified
the working of the freezer from logs and by checking statuses of
processes.

Bug: 168907513
Test: Booted the device, verified no regressions on process group access
Change-Id: I73f3e767d377902af6e12facb503b9136fb39e08
2020-12-02 09:51:42 -08:00
Sriharsha Allenki
e6094789b4 ueventd: Add support for updating permissions on bind
Current implementation updates the permissions of sysfs
nodes of a device upon the following actions: "add",
"change" and "online".
But certain sysfs nodes (ex: wakeup capabilities under
power management) of devices are not present when the
device is added, but these are generally dependent on
the device driver and are added once the driver is bound.
This is particularly common in USB host stack.
If the bind action events are not parsed the ueventd
will not update the permissions of these nodes.

Hence, add the support for updating permissions on
bind action as well.

Bug: 174215510
Test: Verified permissions updated on bind action
Change-Id: Ic1a147e3993ef78dd6c539bbae652e8107207b87
2020-12-02 18:07:41 +05:30
Treehugger Robot
65da89e71a Merge "Follow vdc naming convention: earlyBootEnded" am: 0029d3f6c0
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1512479

Change-Id: I186b797a3c138e830c7aeabf6583575104dd21a0
2020-12-02 08:20:27 +00:00
Xin Li
4217e6d7bd Merge rvc-qpr-dev-plus-aosp-without-vendor@6881855
Bug: 172690556
Merged-In: I22cc7bb8ac579d0e03f92ec5a16e8c0f2c768051
Change-Id: Ide85f5a8acd02dead55dc87f9d6a80b3261027b4
2020-12-02 00:17:00 -08:00
Treehugger Robot
0029d3f6c0 Merge "Follow vdc naming convention: earlyBootEnded" 2020-12-02 07:49:38 +00:00
David Anderson
68ba6695bd libsnapshot: Don't package snapuserd.rc in /vendor/etc.
This is happening accidentally because of a bug in Soong. In the
meantime, add a separate snapuserd.vendor_ramdisk that does not have an
init_rc section.

Bug: N/A
Test: manual test
Change-Id: I9dcafb681f209932fa13c5c55478f0e486e53306
2020-12-01 22:11:19 -08:00
Wei Wang
75175b6050 Merge "rootdir/init.rc: Create camera-daemon groups" am: 84719713c7
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1512950

Change-Id: Ife9fb8605c18ac25e569472666934913c8fc5cb5
2020-12-02 04:02:19 +00:00
Wenhao Wang
c58d20321a Merge "trusty-ut-ctrl: Make it as binary" am: 36d45bbfd5
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1496887

Change-Id: Ifdfe4bb51a233606ecdf06b96dcc7d00165ca585
2020-12-02 03:57:46 +00:00
Wei Wang
aed52ef138 init.rc: correct the obsolete comment
system-background cpuset is mapped in tasks_profiles.json.

Bug: 170507876
Test: Build
Change-Id: I13c9660a1288e22382ced4dd31f079f31bf7c8dc
2020-12-01 19:46:02 -08:00
Wei Wang
ab87979a00 Add system-background cpu group
Add system-background cgroup hierarchy for uclamp and cpu bandwidth
tuning.

Bug: 170507876
Bug: 171740453
Test: boot and check cgroup
Change-Id: I41745e7b3ac5c1d7ea7dd77f5db39c6895047446
2020-12-01 19:46:02 -08:00
Wei Wang
6a28572648 init.rc: create camera-deamon stune cgroup
camera-daemon is referred in task-profiles.json so the hierarchy should
be created in aosp's init.rc.

Bug: 170507876
Bug: 171740453
Test: boot and check cgroup
Change-Id: I0e6722b88922abf4ccae3b19623d8b889a6e3cb6
2020-12-01 19:46:02 -08:00
Wei Wang
84719713c7 Merge "rootdir/init.rc: Create camera-daemon groups" 2020-12-02 03:38:01 +00:00
Wenhao Wang
36d45bbfd5 Merge "trusty-ut-ctrl: Make it as binary" 2020-12-02 03:28:58 +00:00
Kiyoung Kim
03b9bcabff Use bootstrap linkerconfig from early init
Linkerconfig will be moved into Runtime APEX, so
/system/bin/linkerconfig would not be available before APEX is mounted.
Use bootstrap linkerconfig instead during early init.

Bug: 165769179
Test: Cuttlefish boot succeeded
Change-Id: Iae41f325bbd5f5194aaf4613141860f913dfbff1
2020-12-02 11:41:06 +09:00
Akilesh Kailash
37641374e8 libsnapshot:VABC: Allow batch merge
Kernel will batch the merge operations only when
block numbers of source and cow device are contiguous.

Daemon will read the COW file and post-process
the operations so that kernel can batch merge the potential
operations.

There are two key changes done in post-processing:

1: COW file contains all the copy operations at the
beginning of the file. We cannot allow batch
merging of COPY operations as a crash in between
the overlapping copies can result in a corrupted state.
Hence, allow copying individual blocks at a time.

2: Replace and Zero operations can be batch merged.
However, reading our existing COW format as-is
will not allow kernel to batch merge. Hence,
process the operations in such a way that kernel can batch
merge them.

Furthermore, it is observed that sync() after every
merge is a overhead. Hence, we will only sync()
for copy operations only. For replace and zero
operations, we will not explicitly sync. This is ok as
crash in between replace/zero merge operations can
redo those operations. However for copy, we have
to make sure that sync is completed before next copy
operation is initiated.

Merge time of a full OTA on bramble is around ~60
seconds as compared to ~10+ minutes prior to this
optimization.

Note that we still have copy operations which are not
batch merged. Hence, OTA with significant number of
copy operations can still have overhead on merge timings.

Bug: 174112589

Test: vts_libsnapshot, cow_snapuserd_test
Full OTA on bramble.

Signed-off-by: Akilesh Kailash <akailash@google.com>
Change-Id: I1dc286067a26ea399fa5d4e8e826e5622ce3fa58
2020-12-02 02:29:38 +00:00
Baligh Uddin
5be28efc34 Add visibility for statsd in prep for migration.
BUG: 167962588
TEST: TH
Change-Id: If8579f0942eb051e41105a56891953eda00920d2
2020-12-02 01:57:08 +00:00
Kiyoung Kim
6333a022b3 Merge "Remove provide libs from file" am: e11663f483
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1498488

Change-Id: Iab2a52ea955fbb39b7d1ed4b7e53fe3e71a108ac
2020-12-02 01:47:20 +00:00
Kiyoung Kim
e11663f483 Merge "Remove provide libs from file" 2020-12-02 00:28:25 +00:00
Paul Crowley
3fe1a8c76c Follow vdc naming convention: earlyBootEnded
vdc commands use camelCase, not kebab-case.

Test: EarlyBootKeyTest.CannotCreateEarlyBootKeys
Change-Id: I5bcc9c435c848f5054e81ffaf87ae32577548570
2020-12-01 14:37:48 -08:00
Akilesh Kailash
333639e952 libsnaphot: Refactor cow_snapuserd test
Refact cow_snapuserd unit test. This will
test code changes in daemon in isolation. Currently it tests

1: Reading snapshot device and validate data
2: Merge and validate data.

More tests related to merge will be added later; but this
should provide a baseline unit test for daemon.

BUG: 168311203
Test: cow_snapuserd_test

Signed-off-by: Akilesh Kailash <akailash@google.com>
Change-Id: I4d77c435a9f045204a4ff3ece524c857f9fba50f
2020-12-01 20:46:01 +00:00
Treehugger Robot
e52cdbc760 Merge changes Ie9da525c,I9911f02c,Iad18af1f,I5f432a3d am: 41c2e6286e
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1506636

Change-Id: Ibb572370e1fe3daeb242916b4a8c28713f5544bb
2020-12-01 20:35:05 +00:00
Treehugger Robot
41c2e6286e Merge changes Ie9da525c,I9911f02c,Iad18af1f,I5f432a3d
* changes:
  trusty: provide coverage to gatekeeper fuzzer
  trusty: fuzz: Example TA fuzzer
  trusty: fuzz: Helper lib for libFuzzer extra counters
  trusty: coverage: Coverage client library
2020-12-01 20:20:08 +00:00
Hamzeh Zawawy
da2960df35 Merge "Resolved UAF issue in RefBase fuzzer" am: 9a79c84499
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1424812

Change-Id: I56c806c76dae6cf152a4d039341d373c039e83ce
2020-12-01 18:42:05 +00:00
Hamzeh Zawawy
9a79c84499 Merge "Resolved UAF issue in RefBase fuzzer" 2020-12-01 18:24:27 +00:00
Tom Cherry
5a6578b7bd Merge "Revert "Ramdisk: add metadata dir in ramdisk"" am: 456397830d
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1513652

Change-Id: Ibe708ae3e71000f23079ea824001cb459bc86e13
2020-12-01 18:13:13 +00:00
Tom Cherry
9ed5699204 Merge "fs_mgr: move mkdir(mount_point) to prepare_fs_for_mount()" am: a1411e4311
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1505939

Change-Id: I668988203c70c564917dfb37749c672008cfb1d3
2020-12-01 18:04:55 +00:00
Tom Cherry
456397830d Merge "Revert "Ramdisk: add metadata dir in ramdisk"" 2020-12-01 17:36:42 +00:00
Tom Cherry
a1411e4311 Merge "fs_mgr: move mkdir(mount_point) to prepare_fs_for_mount()" 2020-12-01 17:36:31 +00:00
Martijn Coenen
3b68bf2d34 Split fsverity_init in two phases.
First load the verified keys, and then only lock the keyring after apexd
has run. This is in preperation for on-device signing, which will need
to add another key to the fs-verity keyring before it's locked.

Note that I've moved loading of the verified keys up a bit; fsverity_init
used to load keys from Keymaster, but it currently doesn't, so there's
no need to wait for it.

Bug: 165630556
Test: boot, cat /proc/keys
Change-Id: I077673575ae3dafcf3126d8c544fe7f8d34c0225
2020-12-01 14:39:22 +00:00
Rick Yiu
a983f8ab1e rootdir/init.rc: Create camera-daemon groups
In task_profiles.json, camera-daemon is referred for both cpu and
cpuset controller, so create them in init.rc officially.

Test: build pass
Bug: 170507876
Change-Id: I655154ab739ffde6fdfd2d499cbaa974597d3ee7
2020-12-01 15:45:01 +08:00
jiazi li
18778cd5f9 Revert "Ramdisk: add metadata dir in ramdisk"
This reverts commit 9fa773746c.

Reason for revert: using aosp/1505939 instead

Change-Id: I4c654e5b77b0e5ffac036fe0674f201f2ae19fb6
2020-12-01 06:19:54 +00:00
Tri Vo
a1008a1edf trusty: provide coverage to gatekeeper fuzzer
Bug: 171750250
Test: /data/fuzz/arm64/trusty_gatekeeper_fuzzer/trusty_gatekeeper_fuzzer
Change-Id: Ie9da525c0dcb6c9c5ed2f50396c0065e3a567d22
2020-11-30 20:09:08 -08:00
Tri Vo
680fc001b8 trusty: fuzz: Example TA fuzzer
Bug: 169776499
Test: /data/fuzz/arm64/trusty_test_fuzzer/trusty_test_fuzzer
Change-Id: I9911f02cb49c39f1c3cd89b4e5582e8dfaa645d1
2020-11-30 20:09:07 -08:00
Tri Vo
a67840f998 trusty: fuzz: Helper lib for libFuzzer extra counters
Bug: 169776499
Test: /data/nativetest64/libtrusty_coverage_test/libtrusty_coverage_test
Change-Id: Iad18af1f0404fc47bef481955c7a4292ef3a24ec
2020-11-30 20:09:02 -08:00