Commit graph

78436 commits

Author SHA1 Message Date
Akilesh Kailash
035e557fd3 init: Detach daemon only after sepolicy is loaded
The new sequence of operation would be:

1: Load sepolicy - Daemon will continue to be alive and serve any I/O request

2: After sepolicy loading is complete - Switch the device-mapper tables.

3: Kill the block device daemon launched in the first-stage init.

4: Re-launch the daemon with the correct selinux labels set.

5: Enforce the sepolicy

Bug: 240321741
Test: Full OTA on pixel
Signed-off-by: Akilesh Kailash <akailash@google.com>
Change-Id: Idd392f0f0aae7d93e546c0ec0762e6c07b6263e4
2022-10-10 21:58:52 +00:00
Steven Moreland
b9d8e8289e Merge changes I732e5b8a,I4271909e
* changes:
  libutils: RefBase DEBUG_REF love
  libutils: DEBUG_* modes compile forever
2022-10-10 20:40:35 +00:00
Steven Moreland
b7412c8cd6 libutils: RefBase DEBUG_REF love
Done here:
- path saved to a useable location on host
- path always printed (for visibility for new users)
- open(.., 666) - That's '01204' not '0644' oops

Future considerations:
- make defines constexpr instead of ifdef
- copy malloc hook design to avoid needing to recompile code
- make libutilscallstack default on host
- run libutils tests, not just test compile debug mode
- code incorrectly prints ref 'doesn't exist'
  seems it's gotten out of sync, but still good enough
  to use stacktraces

Bug: 244325464
Test: manual
Change-Id: I732e5b8aec3cd946ef3559a2a814caf693846cc0
2022-10-10 16:58:57 +00:00
Sayanna Chandula
1d0fec78c4 Merge "init: Support reboot reason with thermal warmreset" 2022-10-08 15:47:35 +00:00
Steven Moreland
377adea81c libutils: DEBUG_* modes compile forever
I've seen these fixed before, so we compile the debug modes
now.

Bug: 244325464
Test: 'm libutils_test_compile'
Change-Id: I4271909e81893ad448bc46b8a3a567a84c40f8a3
2022-10-08 05:13:47 +00:00
Sayanna Chandula
5754b5ab10 init: Support reboot reason with thermal warmreset
Thermal shutdown could be due to tskin temperature or
battery temperature. Pass reason while rebooting the
system to reflect properly in boot.reason

Bug: 238464124
Test: Build and boot on device. Check reboot reason
for thermal shutdown and battery thermal shutdown with
thermal warmreset enabled.

Change-Id: I192562fed48ae7da7843e383362cd22a76ce479f
2022-10-07 14:11:25 -07:00
Treehugger Robot
460f70bb52 Merge "Adding target (sdk-repo-platform-tools) that is used by gmac(sdk_mac) build." 2022-10-07 04:13:51 +00:00
Yi-yo Chiang
ae57e8da32 Merge "remount: Remove AVB 1.0 code & opaque exit code" 2022-10-07 03:47:03 +00:00
Shaju Mathew
6c27f235cf Adding target (sdk-repo-platform-tools) that is used by gmac(sdk_mac) build.
Bug: 249370316
Test: N/A (coastguard)

Signed-off-by: Shaju Mathew <shaju@google.com>
Change-Id: I641d4f8dc60652c7e8eaebafd905090d3c0324f2
2022-10-06 22:37:09 +00:00
Bob Badour
e2b1d3c846 Merge "Add LOCAL_LICENSE_KINDS to system/core" 2022-10-06 22:28:09 +00:00
Bob Badour
03d5052754 Add LOCAL_LICENSE_KINDS to system/core
Added SPDX-license-identifier-Apache-2.0 to:
  init/fuzzer/Android.bp

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all
Change-Id: I2db55c80799d0a8fc5935d9b07a2ddb17eb7235e
2022-10-06 19:59:07 +00:00
Treehugger Robot
71d9f3607b Merge changes I264d0891,I1af733e7,Iae344c1e
* changes:
  Added init_ueventHandler_fuzzer
  Added init_property_fuzzer
  Added init_parser_fuzzer
2022-10-06 13:59:37 +00:00
Yi-Yo Chiang
ce2dbd009f remount: Remove AVB 1.0 code & opaque exit code
* Remove AVB 1.0 (fec).
* Assert device is bootloader unlocked in main().
* Since error is already logged to stderr and logd, there is no need to
  return an opaque enum value as error code. Just return 1 if main()
  encounters any error.

Bug: 241688845
Test: Presubmit
Test: adb-remount-test
Change-Id: I06df6f92a3d4adaca77061920736056c9051c112
2022-10-06 18:54:19 +08:00
Yi-yo Chiang
5653687caf Merge changes I8b5e08a3,Iccfe06f9
* changes:
  fs_mgr_overlayfs: Remove support for physical scratch
  fs_mgr_overlayfs: Refactor scratch mounting code
2022-10-06 06:19:12 +00:00
Wayne Ma
78e23f23ce Merge "Make libstatspull_bindgen available to resolv apex." 2022-10-06 01:28:18 +00:00
Yi-yo Chiang
27cf51e71c Merge "fs_mgr_overlayfs: Cleanup -user build stubs" 2022-10-05 09:19:45 +00:00
Yi-Yo Chiang
9032c00869 fs_mgr_overlayfs: Remove support for physical scratch
Deprecate physical scratch path, support only dynamic partition scratch
and scratch on /cache.

Bug: 243116800
Test: adb-remount-test
Change-Id: I8b5e08a38e323139b56b169865dcaf1a6620cf20
2022-10-05 01:13:32 +08:00
Yi-Yo Chiang
ea2f32a438 fs_mgr_overlayfs: Refactor scratch mounting code
Make the control flow less chaotic and rename to cpp style function
name.

Bug: 243116800
Test: adb-remount-test
Change-Id: Iccfe06f9cb9659b7b0bad085250422e298cc4f27
2022-10-05 01:11:18 +08:00
Wayne Ma
8044045a1e Make libstatspull_bindgen available to resolv apex.
Test: m successed
Change-Id: Ia367ab5a87794c82238291b27a783278f319e767
2022-10-05 00:54:47 +08:00
David Anderson
aaa16bbad4 Merge "init: Statically link libbootloader_message." 2022-10-04 16:32:50 +00:00
Yi-yo Chiang
7214c98d2e Merge "remount: Remove errno test & improve messaging of fs_mgr_overlayfs_mount_all" 2022-10-04 06:27:27 +00:00
David Anderson
12e53bc350 init: Statically link libbootloader_message.
This is to resolve idiosyncracies with test packaging.

Bug: 244284630
Test: ldd -d -r CtsInitTestCases
Change-Id: Iec2c14c3ca5cd359b79d9e1f12e689c0eeffb122
2022-10-03 21:37:56 -07:00
Florian Mayer
0b2cf1d6ec Merge "[MTE] add device config for permissive mode" 2022-10-03 21:04:24 +00:00
Treehugger Robot
d07f11168b Merge "[MTE] Reset MTE state for userdata wipe in fastbootd" 2022-10-03 19:39:33 +00:00
Treehugger Robot
6e74f8c4a6 Merge "bootstat: remove unused FDE boot events" 2022-10-03 18:46:56 +00:00
Florian Mayer
4c3c526e54 [MTE] Reset MTE state for userdata wipe in fastbootd
Test: $ adb shell su root [...]/mtectrl memtag,memtag-kernel default
      $ adb shell 'su root dd bs=1 skip=32832 if=/dev/block/bootdevice/by-name/misc count=15 | xxd'
      00000000: 015a fefe 5a05 [...]
      $ adb reboot fastboot
      $ fastboot -w
      $ fastboot reboot
      $ adb shell 'su root dd bs=1 skip=32832 if=/dev/block/bootdevice/by-name/misc count=15 | xxd'
      00000000: 0000 0000 0000 [...]

Bug: 245596152
Change-Id: I5e2d4584776ab1685bdf37124e32dcb827eaf05a
2022-10-03 11:01:36 -07:00
Florian Mayer
84a30c8526 Merge "[MTE] Add device config to control upgrade time" 2022-10-03 17:47:12 +00:00
Florian Mayer
7a6079000c [MTE] add device config for permissive mode
Change-Id: Ifb16c0f29f07870f59ab50522d010689ee232de8
2022-10-03 09:58:39 -07:00
Treehugger Robot
f2065c8890 Merge "simg_dump.py: fix error for CHUNK_TYPE_FILL" 2022-10-03 15:51:33 +00:00
Bowgo Tsai
dbf62d939a simg_dump.py: fix error for CHUNK_TYPE_FILL
In python3, division of two integers produces a float,
which cannot be used to multiply a bytes sequence.

Using // to produce an integer quotient.

Bug: 245257511
Test: ./system/core/libsparse/simg_dump.py -sv path/to/image
Change-Id: Ibe95056409ac3676a68f5e7693331ca4a66e9fb7
2022-10-03 16:27:49 +08:00
Peter Collingbourne
9f7a19d0f3 Merge "Resync zygote64 and zygote64_32 rc files." 2022-09-30 18:56:35 +00:00
Krzysztof Kosiński
27bccbfdef Merge "storaged: Fix deprecated usages of protobuf API." 2022-09-30 00:31:19 +00:00
Peter Collingbourne
d77b91b4ba Resync zygote64 and zygote64_32 rc files.
I noticed that the zygote64 and zygote64_32 files
had gotten slightly out of sync as a result of change
I3aad4b4b1d2f54db9e7ba86db8a655d8552bad0a. Merge the zygote64_32 changes
into zygote64, and to prevent this from happening again, replace the
64-bit zygote declaration in zygote64_32 with an import from zygote64.

Change-Id: I7fcceeb22b722c2164b9acf0b517a32ce34731fd
2022-09-29 17:21:54 -07:00
Jiyong Park
b2d8315f10 Merge "Annotate symbols correctly" 2022-09-28 01:22:45 +00:00
Akilesh Kailash
33081c0f90 Merge "snapuserd: Set taskprofile OtaProfiles" 2022-09-27 19:36:59 +00:00
Akilesh Kailash
2e780402e2 snapuserd: Set taskprofile OtaProfiles
Since update-engine already has this profile set,
it is better to have similar profile for the daemon
so that threads don't run at high priority.

Additionally, lower the nice value for worker
threads.

No change in the OTA install time observed.

Bug: 237490659
Test: Full OTA on Pixel
Change-Id: I53ec8c647eb781965792683b04621e6fec5eb5f2
Signed-off-by: Akilesh Kailash <akailash@google.com>
2022-09-27 19:36:49 +00:00
Pete Bentley
751cdc9489 Merge "Add AID for PRNG seeder daemon." 2022-09-26 21:27:42 +00:00
Eric Biggers
d76e4e01c9 bootstat: remove unused FDE boot events
Android 13 dropped support for Full Disk Encryption (FDE) entirely, as
it has been replaced by File Based Encryption (FBE).  Therefore, the
FDE-specific boot events are never emitted.  Remove them from the code:

   * boot_decryption_complete
   * boot_complete_post_decrypt
   * factory_reset_boot_complete_post_decrypt
   * ota_boot_complete_post_decrypt
   * post_decrypt_time_elapsed

Bug: 208476087
Change-Id: Id7a3bbd4f273693bd37b0cd27542dc6080d1c4f4
2022-09-26 19:50:09 +00:00
Pete Bentley
6cb61610e6 Add AID for PRNG seeder daemon.
Also adjust permissions on /dev/hw_random to allow prng_seeder group
read access.

Manual testing protocol:
* Verify prng_seeder daemon is running and has the
  correct label and uid/gid.
* Verify prng_seeder socket present and has correct
  label and permissions
* Verify no SELinux denials
* strace a libcrypto process and verify it reads seeding
  data from prng_seeder (e.g. strace bssl rand -hex 1024)
* strace seeder daemon to observe incoming connections
  (e.g. strace -f -p `pgrep prng_seeder`)
* Kill daemon, observe that init restarts it
* strace again and observe clients now seed from new instance

Bug: 243933553
Test: Manual - see above
Change-Id: I4d526844b232fc2a1fa5ffd701ca5bc5c09e7e96
2022-09-26 17:50:09 +01:00
Jiyong Park
eb7ec7b9e8 Annotate symbols correctly
Currently, tagging a symbol with #apex (# systemapi or # llndk) is not
required when the symbol is in a non-NDK library. However, this is
considered dangerous because such a symbol will automatically be
promoted to NDK APIs when the library is promoted to an NDK library.
When that happens, the native API council won't be able to notice the
promotion because promoting a non-NDK library into an NDK library
doesn't require an update of the map.txt file, but Android.bp only.

To prevent that, we should mandate those tags for Mainline APIs
regardless of whether the library the API belongs to is an NDK library
or not.

Upcoming changes in build/soong will enforce this. This change is to
prepare for the enforcement.

Note that this is a build-time only change. There's no behavior change
at runtime.

Bug: 184712170
Test: m
Change-Id: I769c5318e0cfd092f2f2b368f1a860065c79818f
2022-09-26 22:14:43 +09:00
Yi-Yo Chiang
ad06b405ee fs_mgr_overlayfs: Cleanup -user build stubs
* Categorize functions in fs_mgr_overlayfs.h into three classes:
  - Type 1: common and non-critical utilities.
  - Type 2: internal routines for facilitating remount.
  - Type 3: external entry points for users of fs_mgr_overlayfs, like
            fs_mgr_overlayfs_mount_all().
* Move type 1 to common utils header fs_mgr_priv.h & fs_mgr.cpp.
* Move type 2 to new private header fs_mgr_priv_overlayfs.h.
* Keep type 3 in fs_mgr_overlayfs.h.
* Move set-verity-state.cpp under fs_mgr so it can include
  fs_mgr_priv_overlayfs.h. File is reformatted as a result. We should
  eventually merge and dedup set-verity-state and fs_mgr_remount.
* Add myself to OWNERS for remount-related maintenance work.

Bug: 241179247
Bug: 241688845
Test: Full build -user and -userdebug build.
Test: Presubmit
Test: Treehugger run v2/android-gki/adb_remount
Change-Id: Id5fd0e2b12c693939d712a586dd553cc4d8bfeb1
2022-09-26 16:46:03 +08:00
Yi-Yo Chiang
0cba7afd67 remount: Remove errno test & improve messaging of fs_mgr_overlayfs_mount_all
* remount don't check errno after calling fs_mgr_overlayfs_mount_all()
  as we don't report error status through errno anymore.
* fs_mgr_overlayfs_mount_all() returns false if any failure.
* fs_mgr_overlayfs_mount_all() returns true if no overlayfs to mount or
  all overlayfs are either already mounted or mounted successfully.

Bug: 241179247
Bug: 248295731
Test: Treehugger
Change-Id: Ia9c7ac686f6538a9f5da7efc4cda6f28aff056f6
2022-09-26 16:37:27 +08:00
Zhanglong Xia
8945a42a1e Merge "init.rc: create /data/misc/threadnetwork folder" 2022-09-26 04:20:54 +00:00
Krzysztof Kosiński
832b63e677 storaged: Fix deprecated usages of protobuf API.
Bug: 203713560
Test: presubmit
Change-Id: I49e78c7eb65a5a99c2e8c79633704d7e60db1e60
2022-09-25 08:18:20 +00:00
Treehugger Robot
3486f7bf43 Merge "Update janitors." 2022-09-23 21:48:30 +00:00
Elliott Hughes
b582e561a3 Update janitors.
Change-Id: I84c8104194df50d1c080a57dbf8d6f21bfb4e713
2022-09-23 20:16:03 +00:00
Treehugger Robot
173bc15585 Merge "Explicitly install RemoteProvisioner for keymint" 2022-09-23 00:46:20 +00:00
zhanglongxia
40e1666fb9 init.rc: create /data/misc/threadnetwork folder
This folder is used to store Thread network settings data files.

Bug: b/248145048
Test: /data/misc/threadnetwork is created.
Change-Id: I58eb3d814723c5f7acfbecef7f852d8e5336c975
2022-09-22 15:25:39 +08:00
Automerger Merge Worker
f2bbe1d91a Merge "Merge "Some device that platform base on android12 doesn't support A/B update, it looks virtual A/B is also not mandatory. so this test case should check ro.vendor.api_level first." into android13-tests-dev am: 9be0c7bbbc" 2022-09-21 21:31:56 +00:00
Treehugger Robot
c7d46a7b05 Merge "Some device that platform base on android12 doesn't support A/B update, it looks virtual A/B is also not mandatory. so this test case should check ro.vendor.api_level first." into android13-tests-dev am: 9be0c7bbbc
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2219604

Change-Id: I1e3dc03ad750eef1fa629f6cf8349259161e2ba2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-09-21 21:31:48 +00:00