Commit graph

88954 commits

Author SHA1 Message Date
Daniel Zheng
550a176551 Merge "libsnapshot: reserve 16x space for ops" into main 2024-03-19 07:34:57 +00:00
Daniel Zheng
8e6ab87328 libsnapshot: reserve 16x space for ops
We have updated logic for v3 cow we should allow non-data ops to be
cached at 16x the amount of data ops. Changing the reserve size to match
this.

Test: th
Change-Id: I825ffef4e1a2ce4eb5c105d266bf95cb3d776ed9
2024-03-19 00:34:15 -07:00
Florian Mayer
e95d781041 Do not chmod ANRs
The code was only meant for native tombstones. It might be a good idea
to make ANRs also readable by shell / adb, but in that case we have to
do more changes to make sure all files in /data/anr are. We can revert
if we implement that

Test: m
Bug: 329827513
Change-Id: Ic98c452ca500fe766a70173bef4ac1ea57438989
2024-03-18 17:19:51 -07:00
Treehugger Robot
0b671f4432 Merge "dmctl: add report of IMA" into main 2024-03-18 16:59:31 +00:00
Junki Min
c8dc7ffd5e toolbox/libmodprobe: add toolbox to vendor_ramdisk
toolbox and libmodprobe are required for module loading before
first stage init begin.

BUG: 329807942
Signed-off-by: Junki Min <joonki.min@samsung.com>
Change-Id: Icf04888e602b012758ebf353ed8e4aff2585fd07
2024-03-18 17:35:26 +09:00
Jeongik Cha
4df565db4c Merge "Declare init.*.rc modules in Android.bp" into main 2024-03-18 01:25:16 +00:00
Treehugger Robot
a17fa25959 Merge "Remove bionic dependency from llndk-versioning.h" into main 2024-03-18 00:11:43 +00:00
Jaegeuk Kim
9459f7c09c dmctl: add report of IMA
This adds an option "ima" in dmctl.

$ dmctl ima product-verity
Targets in the device-mapper table for product-verity:
0-7463768: verity, target_name=verity,target_version=1.9.0,hash_failed=V,verity_version=1,data_device_name=254:4,hash_device_name=254:4,verity_algorithm=sha256,root_digest=d7af9fcb04d184219ba5477b97bb2bbc89fd23a46e03d1dea31d674cc4934769,salt=19d4f2345adfc8b7cc22a3c2f21dd413e5020fc7920a08a33f46f3c61492dfcc,ignore_zero_blocks=y,check_at_most_once=n,verity_mode=restart_on_corruption;

Change-Id: I057970b6c786b3f9a394b4919f5f5115b27cbc08
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
2024-03-15 16:34:20 -07:00
Treehugger Robot
a09542807f Merge "toolbox/modprobe: Use libmodprobe to load modules from FILE" into main 2024-03-15 23:32:52 +00:00
Will McVicker
7d400f9d8c toolbox/modprobe: Use libmodprobe to load modules from FILE
When a file is provided (via --all=FILE), let's use libmodprobe to load
the modules. This let's us use the logic in libmodprobe to parse the
provided modules load file -- FILE. The functional differences include:

 - Removes the FILE parsing logic in modprobe.
 - Returns early if FILE doesn't exist.
 - Adds Dirname(FILE) to mod_dirs which means libmodprobe will parse the
   modules.* files inside Dirname(FILE). Previously, modprobe would only
   parse the modules.* files in the mod_dirs passed in by `-d DIR`. If
   no directories were provided, we would fallback to the default
   /lib/modules path. This patch removes the mod_dirs.empty() fallback
   path when --all=FILE is used. It's unlikely anyone uses `--all=FILE`
   without `-d DIR` unless FILE is inside the fallback path --
   /lib/modules.

Test: verified lsmod on pixel 6
Bug: 324018983
Change-Id: I8d241832f2a1f18d14207e3e3777e015c1ddb25f
2024-03-15 14:58:31 -07:00
Dennis Shen
a8a6d67f29 Merge "Revert "start aconfig storage daemon"" into main 2024-03-15 19:16:42 +00:00
Android Culprit Assistant
71179955f7 Revert "start aconfig storage daemon"
This revert was created by Android Culprit Assistant. The culprit was identified in the following culprit search session (http://go/aca-get/2def2bc9-4177-4451-930d-96612adf7d95).

Change-Id: I232a36309883bff892fff5a5d43fd1432d7f1c6e
2024-03-15 19:06:14 +00:00
Treehugger Robot
090f45f3c8 Merge "Add missing header." into main 2024-03-15 18:21:11 +00:00
Justin Yun
47f9182e49 Remove bionic dependency from llndk-versioning.h
llndk-versioning.h only defines macros for LLNDK versioning.
Remove unused bionic header.

Bug: 302113279
Test: lunch cf_x86_64-trunk_staging-userdebug && m && m cts
Change-Id: I8d3ebbd765a223a2241e1a0bc95c84d726bacb9d
2024-03-15 23:05:09 +09:00
Krzysztof Kosiński
eaf7d77e7e Add missing header.
Protobuf 22.x no longer includes <unordered_map>, so it has to
be included explicitly.

Bug: 329747255
Test: presubmit
Change-Id: Icd5055e242e4f58029caf80cbb321222c612a9d0
2024-03-15 06:44:39 +00:00
Jeongik Cha
3652004432 Declare init.*.rc modules in Android.bp
Bug: 322088967
Test: build
Change-Id: Idd8cc0a9fdbcda1d8129056efc0afadc663b955b
2024-03-15 13:49:39 +09:00
Dennis Shen
e7abebc01d Merge "start aconfig storage daemon" into main 2024-03-14 12:17:53 +00:00
Nikita Ioffe
13db31040f Merge changes from topic "derive-microdroid-vendor-dice-node" into main
* changes:
  Add a step to derive microdroid vendor dice node
  Move ForkExecveAndWaitForCompletion to util.h
  Mount /microdroid_resources as tmpfs
2024-03-14 11:20:06 +00:00
Treehugger Robot
9bceea5a7f Merge "Define macros for LLNDK versioning" into main 2024-03-14 05:58:32 +00:00
Daniel Zheng
9ce8219f52 libsnapshot: fix warnings
Fix unused header warning

Test: th
Change-Id: I5c9f22f3f74d6ca44e738e1dc8e9fe146749857f
2024-03-13 22:31:58 -07:00
Daniel Zheng
da960a1341 libsnapshot: remove temporary solution
Remove temporary estimation solution (using 4k to overestimate the cow).
With the updated estimation logic, we should be able to accurately
estimate the cow size with variable block sized compression

Bug: 322279333
Test: th
Change-Id: I199970048605a8d21d3791614ad88ca61662e1a3
2024-03-13 22:28:43 -07:00
Dennis Shen
07afcabf67 start aconfig storage daemon
Bug: b/312444587
Test: m and launch AVD
Change-Id: I92946fc4ec2100d995300c58ef6045ae5b40f13a
2024-03-13 19:16:29 +00:00
Bart Van Assche
f21e60282e Merge "Make foreground and background I/O priority different" into main 2024-03-13 16:15:20 +00:00
Nikita Ioffe
1e114e677b Add a step to derive microdroid vendor dice node
The derivation happens in the derive_microdroid_vendor_dice_node binary
which first_stage_init forks and execvs.

Since the derivation requires talking to the dice driver, its
initialisation is also moved to the first stage init.

The derivation happens before the microdroid vendor partition is
verified & mounted. This should be safe because the first_stage_init
will fail the boot if the verification of the microdroid vendor
partition fails.

Bug: 287593065
Test: run microdroid with and without vendor partition
Test: atest MicrodroidTests
Change-Id: I0d83772eb98a56c315617e66ec64bd03639cfde6
2024-03-13 15:24:44 +00:00
Nikita Ioffe
fe7b83faea Move ForkExecveAndWaitForCompletion to util.h
In the follow up patch this function will also be used in
first_stage_init.

Bug: 287593065
Test: m
Change-Id: Id805f8523596c26ed262d89aa652b27184b612c1
2024-03-13 14:44:46 +00:00
Nikita Ioffe
2384e8abfe Mount /microdroid_resources as tmpfs
This will be used to store the new dice chain generated during
first_stage_init phase in case Microdroid VM is launched with
microdroid vendor partition.

Bug: 287593065
Test: atest MicrodroidTests
Test: start Microdroid VM & check microdroid_resources exists
Change-Id: I40677376bfed14d813ad51c78db6109b2d76d1d1
2024-03-13 14:39:08 +00:00
Treehugger Robot
0c2301240a Merge changes I68f7d46b,I5d5278ab into main
* changes:
  toolbox/modprobe: Fix failure due to blocklist
  libmodprobe: Make IsBlocklisted() public
2024-03-13 05:27:59 +00:00
Bart Van Assche
7f3fe0aaf2 Make foreground and background I/O priority different
The default I/O priority is "best effort" so the combination of "none"
and "restrict-to-be" is not sufficient to make foreground and background
I/O priorities different. This CL makes sure that foreground and
background I/O priorities are different.

As one can see, this CL has the intended effect in Cuttlefish:
$ adb -s 0.0.0.0:6520 shell 'cd /dev/blkio && grep -aH . blkio.prio.class background/blkio.prio.class'
blkio.prio.class:promote-to-rt
background/blkio.prio.class:restrict-to-be

Bug: 186902601
Change-Id: I24d30d360280d8c398684b0b5e88635f658ff870
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2024-03-12 13:30:40 -07:00
Florian Mayer
c923ea5a6d Merge "Update test for more accurate memtag_handle_longjmp" into main 2024-03-12 18:12:46 +00:00
Veena Arvind
fe7e089a7c Merge "Scan for quiescent in sub reason and details" into main 2024-03-12 17:46:54 +00:00
Veena Arvind
b46e5e6d0b Scan for quiescent in sub reason and details
Bug: 326526460
Test: manual (b/320369923#comment19)
Change-Id: I702841bf1afa6a04318b8233eb6ddb89c46b7ad5
2024-03-11 22:23:09 +00:00
Jiakai Zhang
a08ad4b1e5 Merge changes from topic "snapshotctl_prop" into main
* changes:
  Make snapshotctl also log to logd.
  Allow other processes to run snapshotctl through init.
2024-03-11 16:55:25 +00:00
Justin Yun
f8292344cd Define macros for LLNDK versioning
__INTRODUCED_IN_LLNDK(vendor_api_level) is for the LLNDK APIs
introduced in the vendor_api_level. It is ignored for non-vendor
modules.

API_LEVEL_AT_LEAST(sdk_api_level, vendor_api_level) is used as a
statement for 'if' to guard the API callers. For example:

if API_LEVEL_AT_LEAST(__ANDROID_API_V__, 202404) {
  new_api_for_V_and_202404();
} else {
  fallback_function();
}

Bug: 302113279
Test: build trunk-staging and next configurations
Change-Id: I60d40655b1f8afdfa5c69b2ac4be2205f8057bea
2024-03-11 20:24:07 +09:00
Jiakai Zhang
6480d875b5 Make snapshotctl also log to logd.
Since http://r.android.com/2994274, snapshotctl can be run by init.
Therefore, we need it to log to logd for better debuggability.

Bug: 311377497
Test: adb shell setprop sys.snapshotctl.map requested
Test: adb shell setprop sys.snapshotctl.unmap requested
Change-Id: I287ecf77d45fb9e6c44bea36e14d2624029afea5
2024-03-08 18:56:13 +00:00
Jiakai Zhang
22ddb0aec5 Allow other processes to run snapshotctl through init.
Running snapshotctl involves talking to gsid, which requires the UID to
be 0. To allow other processes to run snapshotctl without running as the
root user, this change adds system properties "sys.snapshotctl.map" and
"sys.snapshotctl.unmap" that proxy snapshotctl calls.

Bug: 311377497
Test: adb shell setprop sys.snapshotctl.map requested
Test: adb shell setprop sys.snapshotctl.unmap requested
Change-Id: Ia29dde30021a94511b8e699c2c8f3816b851bf5c
2024-03-08 18:53:47 +00:00
Florian Mayer
1fef1b1359 Update test for more accurate memtag_handle_longjmp
Change-Id: Ie5482d343c37ee8cf57a8ce105a0c8a363e5761e
2024-03-07 17:12:57 -08:00
Will McVicker
b9dead1a75 toolbox/modprobe: Fix failure due to blocklist
When a module is blocklisted, LoadWithAliases() will return an error
indicating the module failed to load. When the blocklist is requested
(via the -b parameter), let's not return an error if a blocklisted
module fails to load.

Test: verified lsmod on pixel 6
Bug: 324018983
Change-Id: I68f7d46bf9fd99e4b4e51ef92ea71686907f1125
2024-03-07 15:01:59 -08:00
Will McVicker
2d3658a421 libmodprobe: Make IsBlocklisted() public
This allows tools like modprobe to check if a module is blocklisted.

Test: verified lsmod on pixel 6
Bug: 324018983
Change-Id: I5d5278ab056e58a4ee103db94b573928cbeb5c5f
2024-03-07 15:01:54 -08:00
Snehal Koukuntla
b2bfb972e8 Merge "[Metrics] Add helper data structures to parse metrics messages" into main 2024-03-07 09:11:31 +00:00
Xin Li
ba485e7f71 Merge "Merge Android 14 QPR2 to AOSP main" into main 2024-03-07 06:10:51 +00:00
Michael Hoisie
1140355bde Merge "Remove the redundant libcutils_sockets_test" into main 2024-03-07 06:01:19 +00:00
Treehugger Robot
6c6b9e33d6 Merge "Skip initializing ro.vendor.api_level if already defined" into main 2024-03-07 03:42:14 +00:00
Xin Li
2f5e50cfd0 Merge Android 14 QPR2 to AOSP main
Bug: 319669529
Merged-In: I4955367085f3f7c829b8b4e7b06aafaaac9ad748
Change-Id: Idefdb54491ebf42c4d8a04ddcc71fa87f500b79e
2024-03-06 18:58:28 -08:00
Michael Hoisie
d1e4c263c4 Remove the redundant libcutils_sockets_test
'sockets_test.cpp' also runs as part of libcutils_test and
libcutils_static_test, so it is redundant to have it be a separate
target.

Test: libcutils_test
Test: libcutils_static_test
Bug: 317884162
Change-Id: Ib2c2f74feb79d1436ca67ae9aca18d3eb7acf5a0
2024-03-06 22:18:58 +00:00
Snehal
dfd84433dd [Metrics] Add helper data structures to parse metrics messages
Bug: 323508669

Change-Id: Ic4716dd47168481b6aa780f55d9db1208623b61d
2024-03-06 17:27:57 +00:00
Treehugger Robot
59d9dc1f50 Merge "Create /mnt/pre_reboot_dexopt on init for Pre-reboot Dexopt." into main 2024-03-06 12:27:27 +00:00
Justin Yun
4058ba29b5 Skip initializing ro.vendor.api_level if already defined
Devices may predefine ro.vendor.api_level. Skip calculating the value
if the ro.vendor.api_level is already defined.

Bug: 326164316
Test: getprop ro.vendor.api_level
Change-Id: Ic9fd2a0eef6ba9345f98a5cb1eb790080e19ca19
2024-03-06 18:28:58 +09:00
Treehugger Robot
7131b6c7ff Merge "Revert^2 "Add TEST_MAPPING for debuggerd CTS"" into main am: 98c2d78b4f
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2984645

Change-Id: I4955367085f3f7c829b8b4e7b06aafaaac9ad748
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-05 19:38:19 +00:00
Treehugger Robot
98c2d78b4f Merge "Revert^2 "Add TEST_MAPPING for debuggerd CTS"" into main 2024-03-05 18:55:59 +00:00
Hsin-Yi Chen
ec15e9247b Merge "Annotate LLNDK functions in non-vendor libraries" into main am: d0e8eab404
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2988249

Change-Id: I4519224a11c8a1e87a3744f7c34c10b5db442fa0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-05 11:43:52 +00:00