Commit graph

80270 commits

Author SHA1 Message Date
Yi-yo Chiang
7e4b74bfcf Merge "overlayfs: Mount overlay with context= fs_options if original mount has it" am: 3ae0234484 am: ac5a9f0b0c
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2346244

Change-Id: Ifaf11cb152e783287fa75941372a2691574d57bb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-14 08:06:09 +00:00
Treehugger Robot
8132e2ce05 Merge "Skip system/bin/bootstrap/linkerconfig" am: b7d4804453 am: 7b2abc9c16
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2348322

Change-Id: I6ed0b15ad0b36f58dd02c23ece3e2b3c5b442e29
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-14 08:05:46 +00:00
Yi-yo Chiang
ac5a9f0b0c Merge "overlayfs: Mount overlay with context= fs_options if original mount has it" am: 3ae0234484
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2346244

Change-Id: I3a5c665ffd68a066ba090523e3683fd925e05850
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-14 07:35:19 +00:00
Treehugger Robot
7b2abc9c16 Merge "Skip system/bin/bootstrap/linkerconfig" am: b7d4804453
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2348322

Change-Id: I3017c69dbcf57ab15ea84e4ec61b68d091741046
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-14 07:34:38 +00:00
Yi-yo Chiang
3ae0234484 Merge "overlayfs: Mount overlay with context= fs_options if original mount has it" 2022-12-14 07:18:06 +00:00
Treehugger Robot
b7d4804453 Merge "Skip system/bin/bootstrap/linkerconfig" 2022-12-14 07:16:12 +00:00
Steven Moreland
ca855df27e Merge "ignore error -> log" am: bb1ee3c689 am: 0b6e44e30e
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2333862

Change-Id: I045a89338fdd043f43552e598ce8d87ceb653d0b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-14 02:31:02 +00:00
Steven Moreland
0b6e44e30e Merge "ignore error -> log" am: bb1ee3c689
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2333862

Change-Id: Iae62748bf9879415cc209af3c7fbb0461b8fa85e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-14 02:00:26 +00:00
Steven Moreland
bb1ee3c689 Merge "ignore error -> log" 2022-12-14 01:29:20 +00:00
Steven Moreland
507209ba55 ignore error -> log
Current code ignores an error, which is a code
rot risk.

Bug: 261700511
Change-Id: I04ca7046dc42d761ecaaf56f6100c96cc8298ec5
Test: N/A
2022-12-13 22:43:58 +00:00
Treehugger Robot
ec96224f11 Merge "Remove an unnecessary #include." am: f6fe4fc9fa am: cffcf03d8e
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2349037

Change-Id: Iba3e43729fe3321627f16d2857e05a9deb4dac9a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-13 19:31:10 +00:00
Treehugger Robot
cffcf03d8e Merge "Remove an unnecessary #include." am: f6fe4fc9fa
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2349037

Change-Id: I153ac7387a5afe7b90f35d821b8b394d767be7ef
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-13 18:59:25 +00:00
Eran Messeri
83e0b61c6a Merge "Bump the KeyMint version to v3" am: 33937f432c am: af057cc3c9
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2332464

Change-Id: Ib881aba2e460fe00e6e11440e160bdae1ec86f9d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-13 18:54:32 +00:00
Treehugger Robot
f6fe4fc9fa Merge "Remove an unnecessary #include." 2022-12-13 18:38:38 +00:00
Eran Messeri
af057cc3c9 Merge "Bump the KeyMint version to v3" am: 33937f432c
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2332464

Change-Id: I7a58fa88dff24a3e8cf694d74140c7ecfce9b4b0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-13 18:22:02 +00:00
Eran Messeri
33937f432c Merge "Bump the KeyMint version to v3" 2022-12-13 17:58:17 +00:00
Elliott Hughes
a27f23e61e Remove an unnecessary #include.
This confused me while doing a code search.

Test: treehugger
Change-Id: Ic8d63a3f5b8efb8557d0033d458f5265762da716
2022-12-13 17:08:24 +00:00
Yi-yo Chiang
546b04b278 Merge "overlayfs: fs_mgr_overlayfs_setup() should accept Fstab as input" am: e0877535ab am: ddf3f8c730
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2346243

Change-Id: Ife39224624f42a835f62bc1eb236bb3bf4428b5d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-13 13:15:39 +00:00
Yi-yo Chiang
ddf3f8c730 Merge "overlayfs: fs_mgr_overlayfs_setup() should accept Fstab as input" am: e0877535ab
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2346243

Change-Id: Idabdceb23af8d88c8cd70607d15389760860a0c4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-13 12:45:03 +00:00
Yi-Yo Chiang
b0e6c82a86 overlayfs: Mount overlay with context= fs_options if original mount has it
Say we have mount configurations as follows:
  mount <dev> /mnt_point -t ext4 -o ro,context=<se_file_context>
  mount overlay /mnt_point2 -t overlay -o lowerdir=/mnt_point,upperdir=...

Overlayfs driver doesn't forward the overridden file context from
/mnt_point to /mnt_point2, thus the same file (same inode) would have
different file context when accessed via /mnt_point and /mnt_point2.

This change makes adb remount to mount filesystem overlays with context=
option if the overlaid mountpoint has it too. This makes the files under
context= mountpoint to retain the same file context after remount.

Also run clang-format on the whole file to fix some formatting issues.

Bug: 243501054
Test: adb remount && check file context with "ls -Z"
Change-Id: Ie4815604c56f1ce81b755cd0569b6577bd5f575f
2022-12-13 12:00:38 +00:00
Yi-yo Chiang
e0877535ab Merge "overlayfs: fs_mgr_overlayfs_setup() should accept Fstab as input" 2022-12-13 11:56:17 +00:00
Jooyung Han
56bee1f7d0 Skip system/bin/bootstrap/linkerconfig
Early processes can't rely on APEXes anyway. We don't need to run
linkerconfig.

This helps to reduce the storage usage (no
/system/bin/bootstrap/linkerconfig) and the boottime (not running
linkerconfig).

If we need more complicated linker config even for early processes, then
we could generate it at build-time and use it like recovery version.

Bug: 262330207
Bug: 260982509
Test: MicrodroidAppTest
Test: device boots
Change-Id: Iceca5ffdb1655fd94e90b0091f439bd22130185e
2022-12-13 18:04:52 +09:00
Yi-yo Chiang
e261927a0c Merge "libfstab: Add const overload of GetEntryForMountPoint()" am: acac60d5a4 am: 20c1b34935
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2346242

Change-Id: Ibe4e86a8c331f990d2200d25ef3b91dbe24b33bc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-13 07:37:55 +00:00
Yi-yo Chiang
20c1b34935 Merge "libfstab: Add const overload of GetEntryForMountPoint()" am: acac60d5a4
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2346242

Change-Id: I8b50f6411955cb2e5ee662b8d87865cd39c26b72
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-13 07:04:28 +00:00
Yi-yo Chiang
acac60d5a4 Merge "libfstab: Add const overload of GetEntryForMountPoint()" 2022-12-13 06:24:46 +00:00
David Anderson
bc991f98eb Merge "Support sysfs changes in the Linux 5.15 kernel." am: 95cfb31bd2 am: 13a5c158ce
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2336159

Change-Id: I35f3c001653da7a3ca40295045a85b743c6fb0d9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-12 19:25:04 +00:00
David Anderson
13a5c158ce Merge "Support sysfs changes in the Linux 5.15 kernel." am: 95cfb31bd2
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2336159

Change-Id: I85c5e735f2c65e1039f39a35ef3023d3ddf098bb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-12 18:54:34 +00:00
Jiakai Zhang
68d373f604 Merge changes I52e778d1,I33f4d1d2 am: 70d34f01a3 am: 3ac2f67713
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2346003

Change-Id: Ide2dd71d6b966a77cfb31de6711d2de2edaa4bea
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-12 18:50:18 +00:00
Jiakai Zhang
9d076b9ad2 Add task profile "Dex2OatBackground". am: 38e9373a4b am: fc3cf87427
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2346002

Change-Id: If208c3cd0cb8d8b0acec155c15760206e6aa3053
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-12 18:50:17 +00:00
David Anderson
95cfb31bd2 Merge "Support sysfs changes in the Linux 5.15 kernel." 2022-12-12 18:38:04 +00:00
Jiakai Zhang
3ac2f67713 Merge changes I52e778d1,I33f4d1d2 am: 70d34f01a3
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2346003

Change-Id: Id47c2c29bf90cd6cddb32256c60895ac184f407a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-12 18:19:56 +00:00
Jiakai Zhang
fc3cf87427 Add task profile "Dex2OatBackground". am: 38e9373a4b
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2346002

Change-Id: I4f693b8ae5721553885ccca513aa6315911009a9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-12 18:19:54 +00:00
Yi-Yo Chiang
e508ac4f2e overlayfs: fs_mgr_overlayfs_setup() should accept Fstab as input
Right now fs_mgr_overlayfs_setup() always reads the default fstab and
this makes the "-T" option of remount useless.
Change it so that the fstab is passed in by the caller.

Bug: 243501054
Test: adb remount -vT <path/to/fstab>
Test: and check that overlay is active after reboot
Change-Id: Ia4101938a50c305f105c57018b02aec01f862dec
2022-12-13 01:53:37 +08:00
Yi-Yo Chiang
d45750aa2c libfstab: Add const overload of GetEntryForMountPoint()
Const version of GetEntryForMountPoint() accepts a pointer to const
Fstab and returns a pointer to const FstabEntry.

In order to refrain from adding more boilderplate, simplify the
implementation of GetEntryForMountPoint() to "return first entry of
GetEntriesForMountPoint()". The added overhead should be negligible as
fstab is usually small (around dozens of entries max), so iterating the
whole list is not computationally expensive.

Also templatize the implementation of GetEntriesByPred() to reduce the
amount of boilerplate.

Bug: 243501054
Test: Presubmit
Change-Id: I046d61d68385825656bb7bc7177c0d1d3e8b36e1
2022-12-13 01:53:37 +08:00
Jiakai Zhang
70d34f01a3 Merge changes I52e778d1,I33f4d1d2
* changes:
  Rename "Dex2OatBootBackground" to "Dex2OatBackground".
  Add task profile "Dex2OatBackground".
2022-12-12 17:37:42 +00:00
Akilesh Kailash
e7194dc6f0 Merge changes from topic "libsnapshot-batch-writes" am: a96e27ca44 am: 36fde3a46a
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2335282

Change-Id: I493c868e8cd28a510a4597ccc9060cebdb513da5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-12 17:37:00 +00:00
Akilesh Kailash
36fde3a46a Merge changes from topic "libsnapshot-batch-writes" am: a96e27ca44
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2335282

Change-Id: I592990a78ef752664e13ef455aef1017b27dc538
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-12 17:03:31 +00:00
Akilesh Kailash
a96e27ca44 Merge changes from topic "libsnapshot-batch-writes"
* changes:
  libsnapshot: Test batch writes and threaded compression
  libsnapshot: Batch write COW operations in a cluster
  libsnapshot: Use two threads to run compression
2022-12-12 16:39:00 +00:00
Jiakai Zhang
180a51d6f3 Rename "Dex2OatBootBackground" to "Dex2OatBackground".
Bug: 261557677
Change-Id: I52e778d13cffcae4212acb05ef2bd62b827fbaf3
Test: Presubmit
Merged-In: I52e778d13cffcae4212acb05ef2bd62b827fbaf3
(cherry picked from commit 473f03bfd9)
2022-12-12 16:28:11 +00:00
Jiakai Zhang
38e9373a4b Add task profile "Dex2OatBackground".
Bug: 261557677
Test: Presubmit
Change-Id: I33f4d1d2270da82cf90a772ef52b450bcecafec2
Merged-In: I33f4d1d2270da82cf90a772ef52b450bcecafec2
(cherry picked from commit ecfbf9c6f4)
2022-12-12 16:27:15 +00:00
Treehugger Robot
916f52d74d Merge "Kill services even when cgroups is disabled" am: 5c3e24816d am: 18a41fbf65
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2305473

Change-Id: Ifa8ff61aede43fc583a067613b469d3beeda8895
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-12 02:34:15 +00:00
Treehugger Robot
18a41fbf65 Merge "Kill services even when cgroups is disabled" am: 5c3e24816d
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2305473

Change-Id: I8226678ccc8352a4ed255a7efebf472e507bc3bd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-12 02:04:33 +00:00
Treehugger Robot
5c3e24816d Merge "Kill services even when cgroups is disabled" 2022-12-12 01:20:45 +00:00
Inseob Kim
a049a9928b Kill services even when cgroups is disabled
process_cgroup_empty_ is used to indicate that a service is already
killed or not. If cgroup support lacks, services cannot be killed
because process_cgroup_empty_ is always true.

This change fixes it by not assigning process_cgroup_empty_ as true.
Instead, make KillProcessGroup send signals even when cgroup is
disabled. Also DoKillProcessGroupOnce() is updated so it returns a number of killed processes, excluding already dead processes. This behavior agrees with its name (DoKillProcessOnce), and it prevents regression upon missing cgroups, because kill(-pgid) will always
"succeed" so KillProcessGroup will loop even when all processes are
already dead.

Bug: 257264124
Test: boot microdroid, see services are terminated
Change-Id: I19abf19ff1b70c666cd6f12d0a12956765174aaa
2022-12-12 01:19:26 +00:00
Akilesh Kailash
c4a5576fdf libsnapshot: Test batch writes and threaded compression
Test all compression algorithms.

Bug: 254188450
Test: cow_api_test
Change-Id: I977e631402eb2dfaa76205f5d8cb955e6d3bddbb
Signed-off-by: Akilesh Kailash <akailash@google.com>
2022-12-11 16:15:50 +00:00
Akilesh Kailash
4bc81b409b libsnapshot: Batch write COW operations in a cluster
COW operations are written in cluster. All the COW ops
and the COW data in this cluster are contiguous. Hence,
batch these writes and write them in one syscall.

Writes are done when the cluster is full or when
label ops are written.

OTA install time (without post-install) on Pixel 6 Pro:

          Without-this-patch        With-this-patch

Full OTA: 17 Minutes               13 Minutes

Following are the OTA install times with both the optimization.
viz - batch writes + 2 threads for compression.

OTA install (without post-install) on Pixel 6 Pro.

All numbers are in minutes.

Full ota - 2.2G

Compression   Without-this-patch     With-this-patch
=========================================================
gz            23                      13
lz4           13                       7
none          13                       7

Incremental OTA - 376M

Compression   Without-this-patch     With-this-patch
=========================================================

gz            22                     16
lz4           14                     11
none          15                     11

Bug: 254188450
Test: Full / Incremental OTA on Pixel
Change-Id: Ie3aba1ff28a6569d25a766377efab6cbe78d9277
Signed-off-by: Akilesh Kailash <akailash@google.com>
2022-12-11 16:15:42 +00:00
Akilesh Kailash
b1a05003a8 libsnapshot: Use two threads to run compression
Compression is a hot function in the install path. Use
two threads for compression.

By default, number of thread is set to 1. If the property,
"ro.virtual_ab.compression.threads" is true, the number
of threads is increased to 2.

OTA install time (without post-install) on Pixel 6 Pro with 2 threads:

	  Without-this-patch       With-this-patch

Full OTA: 23 Minutes               17 Minutes

Bug: 254188450
Test: Full/Incremental OTA on Pixel
Change-Id: I4a11dca3a5ebfe11dcc7f0d882332d491f2d7933
Signed-off-by: Akilesh Kailash <akailash@google.com>
2022-12-11 16:15:32 +00:00
Arve Hjønnevåg
dd3bd8da44 Merge "storageproxyd: Added support for getting max size of file" am: 67bd5b0188 am: 9dafddd456
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2305672

Change-Id: Ibeeef9be5fa784363e9a6df6cca1adc236345b06
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-09 21:14:43 +00:00
Arve Hjønnevåg
9dafddd456 Merge "storageproxyd: Added support for getting max size of file" am: 67bd5b0188
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2305672

Change-Id: I2cb0874a999fd5487eea3c81f79951f253ca9ec8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-09 20:45:14 +00:00
Arve Hjønnevåg
67bd5b0188 Merge "storageproxyd: Added support for getting max size of file" 2022-12-09 20:18:01 +00:00