Commit graph

88769 commits

Author SHA1 Message Date
Justin Yun
183c38c21b Merge "Make libvendorsupport_llndk_headers available to APEXes" into main am: 647532674d
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2979371

Change-Id: I90507205ccabcbff20a75e8f8cdd2030e943879e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-28 11:10:07 +00:00
Justin Yun
647532674d Merge "Make libvendorsupport_llndk_headers available to APEXes" into main 2024-02-28 10:24:34 +00:00
Raphaël Hérouart
1af7260931 Revert "snapshotctl: Add apply-update option"
This reverts commit 77337c2975.

Reason for revert: b/327325747

Change-Id: I6796717774d28a7c306e19dd448c3c830f3fd550
2024-02-28 10:12:05 +00:00
Akilesh Kailash
1cc5c24901 Merge "snapshotctl: Add apply-update option" into main am: 209266f4f6
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2954451

Change-Id: Ie0ca7629d27a07ea688c6546416e0443edd3f59c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-28 07:27:59 +00:00
Akilesh Kailash
209266f4f6 Merge "snapshotctl: Add apply-update option" into main 2024-02-28 06:43:59 +00:00
Akilesh Kailash
77337c2975 snapshotctl: Add apply-update option
$snapshotctl apply-update <directory containing snapshot patches>

This command is equivalent to applying incremental-ota but
bypasses all of the update-engine subsystem. Snapshot-patches
which are created on the host will be used directly and
will be written to the COW block devices.

No change to any of the libsnapshot or the I/O path logic.

Once the snapshot patches are applied, device is ready
to reboot as if an OTA update is applied.

Once the device reboots, snapshot merge will be initiated
as usual.

This will help test the changes to libsnapshot + init + snapuserd
extremely quick.

Incremental flashing becomes quite simple in the CI workflow.

Here are numbers tested on live builds where the actual builds/testing
is done on CI.

Patch-Create+Apply = Create the snapshot patches between two
builds and apply them to the device

Branch(main)     Patch-Creation+Apply Merge        Snapshot-size
=================================================================
Build-1 -> Build-2  14 seconds        40 seconds   160MB

Build-2 -> Build-3  21 seconds        26 seconds   331MB

Build-3 -> Build-4  30 seconds        45 seconds   375MB

Build-X -> Build-X  3 seconds	       4 seconds   8MB

Bug: 319309466
Test: On Pixel 6, incremental builds

Change-Id: I271b2cb5df4abde91571ec70ce06f926a1d01694
Signed-off-by: Akilesh Kailash <akailash@google.com>
2024-02-27 14:21:14 -08:00
Elliott Hughes
5a09eb7e6d Merge "Remove support for Linux before 3.11 (without O_TMPFILE)." into main am: 77a80d1744
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2978811

Change-Id: Id012bc969ddbf4be06056e23faf2f03f6eadee4e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-27 16:49:20 +00:00
Elliott Hughes
77a80d1744 Merge "Remove support for Linux before 3.11 (without O_TMPFILE)." into main 2024-02-27 16:14:52 +00:00
Elliott Hughes
aa1d18a59b Remove support for Linux before 3.11 (without O_TMPFILE).
We don't support kernels that old any more.

Test: treehugger
Change-Id: Ia664de6921901dec54644cff9f51e8514258e257
2024-02-27 16:14:12 +00:00
Justin Yun
2768cf6ea2 Make libvendorsupport_llndk_headers available to APEXes
libvendorsupport_llndk_headers provide libvendorsupport_llndk_headers
macro that can be used in any libraries including APEXes.

Bug: 302113279
Test: TH
Change-Id: I8fc7879a378a3711ae7264c9a2d8b0955895147f
2024-02-27 18:46:58 +09:00
Treehugger Robot
c73f61be26 Merge "Define __INTRODUCED_IN_LLNDK" into main am: fb97c97932
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2975232

Change-Id: Ia41f02cdcb1053272e985bf55ab977c009f28a22
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-27 08:55:25 +00:00
Treehugger Robot
fb97c97932 Merge "Define __INTRODUCED_IN_LLNDK" into main 2024-02-27 08:16:45 +00:00
Justin Yun
f3e89b8db4 Define __INTRODUCED_IN_LLNDK
Symbols with __INTRODUCED_IN_LLNDK are available for LLNDK only if
the vendor api level set by the RELEASE_BOARD_API_LEVEL is equal to
or newer than the target vendor api level in __INTRODUCED_IN_LLNDK.

This works only for the vendor variants at the same time ignoring
__INTRODUCED_IN annotation for the vendor variants. On the other
hand, __INTRODUCED_IN_LLNDK will be ignored from non-vendor variants.

Bug: 302113279
Test: build
Change-Id: I5317a73dbc73095f8d5d95131ca4d9ed39df6be1
2024-02-27 07:48:43 +00:00
Christopher Ferris
b878631621 Merge "Format all of the blueprint files." into main am: bf970740ce
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2978751

Change-Id: I6e668cbf8d9ef6ae2f8922825af29a97f6625e4b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-27 02:42:26 +00:00
Christopher Ferris
bf970740ce Merge "Format all of the blueprint files." into main 2024-02-27 02:10:24 +00:00
Florian Mayer
19a8e857a7 Merge "Make tombstones 664." into main am: d3fb7a6355
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2976111

Change-Id: I9122be975b468dfdaa017a79d8fee154d14bf124
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-26 22:02:01 +00:00
Christopher Ferris
2bf7db3de0 Format all of the blueprint files.
I'm tired of seeing the bpfmt warning, so fix this for all debuggerd
blueprint files.

Test: Compiles
Change-Id: I3b25365a7272aebe9cbac28455cf8b9b86b04c6e
2024-02-26 13:34:38 -08:00
Florian Mayer
d3fb7a6355 Merge "Make tombstones 664." into main 2024-02-26 21:12:25 +00:00
Jooyung Han
14f00567a9 Merge "init: move generated_android_ids to host_init_verifier" into main am: 3289747a5c
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2976531

Change-Id: I334c0f0e80fbc0ef4429a45ddfffe569f2ac4c36
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-26 08:17:42 +00:00
Jooyung Han
3289747a5c Merge "init: move generated_android_ids to host_init_verifier" into main 2024-02-26 07:38:16 +00:00
Jooyung Han
18407b7870 init: move generated_android_ids to host_init_verifier
It's used only by host_init_verifier. This is to remove the unnecessary
dependency from clients of init_host_defaults.

Bug: 326509378
Test: mmma system/core/init
Change-Id: I983fbfe616f0bcb87940c934e19f614d3bf51030
2024-02-26 11:18:00 +09:00
Akilesh Kailash
ea798470a0 Merge "libsnapshot: Fetch device size from header" into main am: 7428705371
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2974622

Change-Id: I42f1f048d6a8298c8cb82f7f3eef710998598743
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-24 07:17:43 +00:00
Akilesh Kailash
7428705371 Merge "libsnapshot: Fetch device size from header" into main 2024-02-24 06:36:36 +00:00
Treehugger Robot
a1e7728329 Merge "minor doc improvement for tombstone fd code" into main am: 1076e7f7a3
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2976171

Change-Id: I780a2f085005c7f603b086324b3354bdde21316e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-24 05:32:59 +00:00
Treehugger Robot
1076e7f7a3 Merge "minor doc improvement for tombstone fd code" into main 2024-02-24 05:02:23 +00:00
Florian Mayer
877d1f6694 Make tombstones 664.
They are still restricted by SELinux, and apps still cannot open them
because they don't have `open` SELinux permission.

Bug: 312740614
Change-Id: I83b7e6ed39f5af64f161af3b3e8e33af0d125b20
2024-02-23 15:31:30 -08:00
Akilesh Kailash
69d574c612 libsnapshot: Fetch device size from header
Now that V3 is enabled, relax the header version check.
For V3, header op_count_max contains the information of the device size.

Bug: 299011882
Test: snapshotctl map-snapshots on Pixel with V3 format

Change-Id: Ia1cb20b24857136a742e20408ee95e56e98b256a
Signed-off-by: Akilesh Kailash <akailash@google.com>
2024-02-23 22:26:42 +00:00
Florian Mayer
23e9289e69 minor doc improvement for tombstone fd code
Change-Id: I8037d9dd5a6c0e86e853d001ccedc472ce61d107
2024-02-23 22:16:03 +00:00
Elliott Hughes
f795d2bf16 Merge "Reduce <CallStack.h> namespace pollution." into main am: d6ccb0b1d9
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2974871

Change-Id: Iffec5a500704a4738bb4240eef3da612250d2782
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-23 16:56:34 +00:00
Elliott Hughes
d6ccb0b1d9 Merge "Reduce <CallStack.h> namespace pollution." into main 2024-02-23 16:15:06 +00:00
Daniel Zheng
f8dc763dd6 Merge "libsnapshot: stride compression" into main am: 4edb9c0088
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2958927

Change-Id: Ie82f6011ed81d7dc10671927472c5dec475fd158
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-23 06:34:20 +00:00
Daniel Zheng
4edb9c0088 Merge "libsnapshot: stride compression" into main 2024-02-23 05:39:29 +00:00
Daniel Zheng
bee3f962fc libsnapshot: stride compression
Alternate dispatching blocks between threads rather than splitting the
data beforehand and then sending to threads in order to ensure that
single threading + multithreading chunks data at the same locations.
Without this change, the resulting op count + data section of the cow
will differ between --enable-threading && --disable-threading at
runtime, which is a result we don't want

Test: th
Change-Id: I3ed8add0552745a281fce2aa7f1d1d32eb547e63
2024-02-22 21:38:47 -08:00
Christopher Ferris
b7e384b5fd Merge "Fix up the debuggerd policy files." into main am: 184d42f889
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2974226

Change-Id: I31974d3319e942663731e7dbcabdbfa85f9e24bb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-23 04:02:47 +00:00
Christopher Ferris
184d42f889 Merge "Fix up the debuggerd policy files." into main 2024-02-23 03:25:48 +00:00
Automerger Merge Worker
1fdfdc1212 Merge "Merge "Drop CtsInitTestCases from cts" into android14-tests-dev am: 6681eac2d5" into main am: 6f86bdcd68
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2972833

Change-Id: Ic686987bb47f1c19c2ac31467ed8527a38ed4784
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-23 02:12:21 +00:00
Automerger Merge Worker
6f86bdcd68 Merge "Merge "Drop CtsInitTestCases from cts" into android14-tests-dev am: 6681eac2d5" into main 2024-02-23 01:28:57 +00:00
Jiyong Park
f310ecdb42 Merge "Drop CtsInitTestCases from cts" into android14-tests-dev am: 6681eac2d5
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2972833

Change-Id: Ia7f8c34ee40e0d8c2bb78b38913c0fabda6e3ec6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-23 01:28:50 +00:00
Jiyong Park
6681eac2d5 Merge "Drop CtsInitTestCases from cts" into android14-tests-dev 2024-02-23 00:51:01 +00:00
Elliott Hughes
fdc642643d Reduce <CallStack.h> namespace pollution.
Use the CALLSTACK_ prefix uniformly, and undefine all the macros
at the end of the file.

Change-Id: Ie5f92bb8cb8b3753082b1c1145696a1e0409e04d
2024-02-23 00:46:16 +00:00
Christopher Ferris
3e662d3c7f Fix up the debuggerd policy files.
A few files were changed without using the generate script. Modify
the original policy file and generate all of the policy files
properly.

Test: Verify the generated files are the same as before.
Change-Id: Ic6979c06c5d290b3047c8307e86ec1e78a242d44
2024-02-22 16:23:46 -08:00
Ed Tsai
43de4ef22d Support for striped in libdm
Add dm stripe in dmctl framework to support stripe on two block devices.

Bug: 321628121
Change-Id: I2f326f19f7ccff1ee03598743022fb702b3e8d6a
Signed-off-by: Ed Tsai <ed.tsai@mediatek.com>
2024-02-23 08:11:30 +08:00
Kalesh Singh
20eab6f58b Merge "init: snapuserd: Fix ranges for mlock()" into main am: df09f80cf4
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2964563

Change-Id: Ie80dbe09c6afb8d5973a3fa06941015f2667ff9a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-22 21:05:09 +00:00
Kalesh Singh
df09f80cf4 Merge "init: snapuserd: Fix ranges for mlock()" into main 2024-02-22 20:27:13 +00:00
Andy Hung
66c057f062 Merge "RefBase: update sp and wp to allow constinit" into main am: 0288e96035
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2972278

Change-Id: I3a66e31491c2b1736c9e37b0572b9ccaaef05023
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-22 18:55:14 +00:00
Andy Hung
0288e96035 Merge "RefBase: update sp and wp to allow constinit" into main 2024-02-22 18:00:31 +00:00
Treehugger Robot
6b803bcfaa Merge changes Ifaab2be0,I54df888e into main am: 8687d25c0d
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2959289

Change-Id: I376f6b0e8697733e395edd7257eb21f814c587e3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-22 15:26:00 +00:00
Treehugger Robot
8687d25c0d Merge changes Ifaab2be0,I54df888e into main
* changes:
  first_stage_console: Refactor RunScript()
  first_stage_console: Fix waitpid() as SA_NOCLDWAIT
2024-02-22 14:44:44 +00:00
Andy Hung
071880f5cb RefBase: update sp and wp to allow constinit
A constexpr ctor is useful for static initialization.
We also modernize the unit test for static variable best practices.

Test: atest libutils_binder_test
Change-Id: If42c0939fb1a2dcb8eb101ed0e10051f67e2150d
2024-02-21 21:34:22 -08:00
Kalesh Singh
f90de49e0e init: snapuserd: Fix ranges for mlock()
It cannot be assumed that file mappings in /proc/<pid>/maps will be
completely backed by the underlying file. [1]

Use MappedFileSize() to deduce the correct ranges for the mlock()
calls when locking system pages in the OTA path.

While at it also clean up the some unreachable code (mlockall()),
and improve error logging.

[1] SIGBUS at https://man7.org/linux/man-pages/man2/mmap.2.html#RETURN_VALUE

Test: Incremental OTA
Bug: 324952273
Change-Id: Ia2ab150e1b8de8c638f5b1acc1de83deb7ac5cff
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
2024-02-21 18:40:45 -08:00