Commit graph

78659 commits

Author SHA1 Message Date
Bart Van Assche
aee2ec8f1e init: Enable ANDROID_BASE_UNIQUE_FD_DISABLE_IMPLICIT_CONVERSION
From the unique_fd.h header file: "unique_fd's operator int is
dangerous, but we have way too much code that depends on it, so make
this opt-in at first."

From the Google C++ style guide: "Do not define implicit conversions."
See also go/cstyle#Implicit_Conversions.

Hence this CL that disables unique_fd::operator int().

Change-Id: I28d94755d5408f63e5819da8d1cbc285057f867f
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2022-12-05 09:40:06 -08:00
Bart Van Assche
91ba2197ef init/Android.bp: Sort cflags alphabetically
Sort the compiler flags alphabetically before adding a new macro
definition.

Change-Id: If919333302817406a890c9622396ec96920adf29
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2022-12-05 09:40:05 -08:00
Bart Van Assche
fdc0f89a4a init: Convert a single-element array into a scalar
Simplify PollIn() by converting a single-element array into a scalar. No
functionality is changed.

Change-Id: I3ef36b9c0daafeed3a92f90c7a7c4fe0654dd586
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2022-12-05 09:40:05 -08:00
Eran Messeri
633b9ba26b Merge "Update the KeyMint version to 3" 2022-12-05 17:16:16 +00:00
Armelle Laine
c4108e917b Merge "trusty/test/binder: Add package support for modules that have AIDL interfaces" 2022-12-02 23:22:39 +00:00
Christopher Ferris
c444569a82 Merge "Add myself to janitor owners." 2022-12-02 23:01:59 +00:00
Chih-hung Hsieh
0a5c0b4364 Merge "Fix "Attempt to delete released memory" warning." 2022-12-02 22:36:39 +00:00
Christopher Ferris
6a907a10aa Add myself to janitor owners.
Since I have to go around the tree modifying code when updating
kernel headers, it seems to make sense to get on this list.

Test: NA
Change-Id: I714b1cbacd336deef1d0e37576d2ab500832eb1a
2022-12-02 12:50:43 -08:00
Chih-Hung Hsieh
c76bc32d95 Fix "Attempt to delete released memory" warning.
EXPECT_NONFATAL_FAILURE(statement, ...) expands to
  do {
    ... statement ...
  } while (::testing::internal::AlwaysFalse());

Clang analyzer cannot see into AlwaysFalse(),
and gives a false warning assuming that the
do loop can be done twice.

Use a unique_ptr::reset to call delete,
because reset can be called multiple times..

Bug: 259999410
Test: make tidy-system-core-fastboot_subset
Change-Id: Ie536f76635dd55f4e47b80eed6498fd1193b88ee
2022-12-02 12:38:41 -08:00
David Anekstein
d12c75f531 trusty/test/binder: Add package support for modules that have AIDL interfaces
Bug: 240461931
Change-Id: Ia88303a4b806be860cac5a324d55d0ab87dce189
2022-12-02 20:27:28 +00:00
Treehugger Robot
9e6005ada4 Merge "Fix nullptr access when cow reader open fails" 2022-12-02 19:25:32 +00:00
Kelvin Zhang
bc1a5b1393 Fix nullptr access when cow reader open fails
Bug: 260805150
Test: th
Change-Id: Id945cc4fa0fce141e3d52b8259241e22ba590ebd
2022-12-02 09:50:44 -08:00
Daeho Jeong
eff9050ccf Merge "set iostat_period_ms to 1 sec" 2022-12-02 05:05:12 +00:00
Daeho Jeong
2accf5bd79 set iostat_period_ms to 1 sec
Current period of this is 3 sec and it is used when Perfetto profiling is running on Android. Without Perfetto profiling, it doesn't affect the system at all. However, 3 sec doesn't provide enough granularity to understand F2FS I/O behaviors. To make F2FS I/O profiling ftrace effective, set the ftrace period to 1 sec.

Test: check f2fs iostat_period_ms sysfs node value
Change-Id: I2d418795613dfbd1aea6c4f13c9a39af3deb1c4d
Signed-off-by: Daeho Jeong <daehojeong@google.com>
2022-12-01 22:27:09 +00:00
Bart Van Assche
fa4926a9de Merge "Revert "init: Add more diagnostics for signalfd hangs."" 2022-12-01 17:50:27 +00:00
Treehugger Robot
2e2fed7668 Merge "fs_mgr/OWNERS: Update bug component" 2022-12-01 17:16:57 +00:00
Yi-Yo Chiang
701d643b2a fs_mgr/OWNERS: Update bug component
Fix: 261015598
Test: none
Change-Id: I52c6cca5d46f7c6f02e6b4ca608e14ef3a3de81b
2022-12-01 23:47:02 +08:00
Eran Messeri
e345066058 Update the KeyMint version to 3
Part of the change to support 2nd IMEI attestation.

Bug: 244732345
Test: atest keystore2_test android.keystore.cts.DeviceOwnerKeyManagementTest
Change-Id: I59544e1e8019869cadeb7b46800c9b519048934c
2022-12-01 11:00:16 +00:00
Treehugger Robot
7bc5a7ef5f Merge "init: Fix and re-enable the init#StartConsole test" 2022-12-01 04:56:09 +00:00
David Anderson
85b7bbf41f Merge "libsnapshot: Disable 32-bit VTS tests on 64-bit systems." 2022-12-01 00:25:24 +00:00
Bart Van Assche
3b21d95a0e init: Fix and re-enable the init#StartConsole test
Skip the test if /dev/console does not exist. Fix the console service
security label. Fix the getsid() test.

Bug: 260104465
Test: atest 'CtsInitTestCases:init#StartConsole' on a P2023 development board
Change-Id: If2533a3f205f922a9b04a748cb558a09c5925986
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2022-11-30 13:25:47 -08:00
Treehugger Robot
a3e605486d Merge "trusty/storage: Add property indicating when fs is ready" 2022-11-30 21:06:13 +00:00
Bart Van Assche
29d8a42d14 Revert "init: Add more diagnostics for signalfd hangs."
Revert commit 14f9c15e05 ("init: Add more diagnostics for signalfd
hangs") because:
* That commit was intented to help with root-causing b/223076262.
* The root cause of b/223076262 has been fixed (not blocking SIGCHLD
  in all threads in the init process).

Test: Treehugger
Change-Id: I586663ec0588e74a9d58512f7f31155398cf4f52
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2022-11-30 09:17:16 -08:00
Max Bires
f9e6c5104d Merge "Add TEST_MAPPING files." 2022-11-29 17:53:18 +00:00
Martin Stjernholm
84681d34f6 Merge "Remove dalvik.vm.usejitprofiles system property." 2022-11-29 11:15:45 +00:00
Max Bires
065a7207a2 Add TEST_MAPPING files.
These TEST_MAPPING definitions ensure that the VTS tests for the
respective HAL services will be executed upon any changes committed to
the HAL services.

Test: hopefully this is the test
Change-Id: Icfaf3621f2c7b9608deb998ba4b5cfd6621a7310
2022-11-29 02:50:45 -08:00
Treehugger Robot
dfdcc31d03 Merge "libutils: Fix missing definition of shared_ptr and unique_ptr" 2022-11-29 01:51:25 +00:00
Martin Stjernholm
b46b947597 Remove dalvik.vm.usejitprofiles system property.
Disabling profiles is no longer supported. Most of the profile support
has been active even when this property was false, and it won't be
supported in the ART Service.

Test: atest -a propertyinfoserializer_tests
Bug: 254434433
Change-Id: I49272b0976f71fcd2e18d04a5b6cc3548a5f9d3f
2022-11-25 12:27:37 +00:00
Biswapriyo Nath
890f064990 libutils: Fix missing definition of shared_ptr and unique_ptr
This includes memory header for shared_ptr and unique_ptr templates.
Fixes the following errors:

RefBase.h:803:1: error: ‘shared_ptr’ does not name a type
RefBase.h:810:1: error: ‘unique_ptr’ does not name a type

Change-Id: I6a7a67333c9ef05250c5a3c6199d7fac288f946b
2022-11-25 12:15:53 +05:30
Stephen Crane
319f4618a7 trusty/storage: Add property indicating when fs is ready
Adds a system vendor property (ro.vendor.trusty.storage.fs_ready) to
indicate when backing storage on the Android filesystem (e.g. /data) is
ready for use. Before this property is set, the Trusty storage proxy may
restart causing connections in Trusty to the storage service to be
disconnected. All Trusty operations that may require storage and can
wait until the device filesystems are ready should wait on this
property.

Bug: 258018785
Test: manual
Change-Id: I9b1408b72df34a0d0cbcc1b99e9617f15bc47558
2022-11-23 17:55:12 +00:00
Yi-yo Chiang
ccf13942e0 Merge "fastbootd: Add getvar is-force-debuggable" 2022-11-23 07:52:38 +00:00
Treehugger Robot
1af6ecda38 Merge "init: Disable test init#StartConsole" 2022-11-23 04:51:55 +00:00
Bart Van Assche
027b275b57 init: Disable test init#StartConsole
Bug: 260104465
Change-Id: I43a19b2451bad955d101d9ebdc3c98419d83597d
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2022-11-22 16:38:43 -08:00
Yi-yo Chiang
fb9b7de413 Merge "remount: Treat disable verity error as fatal only if verity is enabled" 2022-11-22 19:04:49 +00:00
Yi-Yo Chiang
38b68c6a0e fastbootd: Add getvar is-force-debuggable
Export ro.force.debuggable property so that the user can check image
compatibility prior to running fastboot flash.
For example, if is-force-debuggable is yes, then the "system" and
"vendor" build fingerprint must match.

Bug: 191649082
Test: fastboot getvar is-force-debuggable
Change-Id: I772d98253f58ba208d5803e18b589ff693deebd0
2022-11-22 17:32:21 +08:00
Yi-Yo Chiang
b4a86eeb2f remount: Treat disable verity error as fatal only if verity is enabled
If device doesn't enable AVB altogether, then it might not have a vbmeta
partition at all. In this case, we shall ignore disable-verity errors.
We still disable verity unconditionally to keep the logic simple, but we
ignore any disable-verity error if AVB is not enabled in the first
place.

Bug: 241688845
Test: adb-remount-test on emulator
Test: Test remount on yukawa
Change-Id: Ifc763b3f0ca6989550c139a8c3a2308c9c2a7c3e
2022-11-22 15:26:37 +08:00
Treehugger Robot
3fca6e72cf Merge "init: Fix a race condition in KillProcessGroup()" 2022-11-21 23:08:31 +00:00
Bart Van Assche
01e6669c66 init: Fix a race condition in KillProcessGroup()
Multiple tests in CtsInitTestCases, e.g. RebootTest#StopServicesSIGKILL,
can trigger the following race condition:
* A service is started. This involves calling fork() and also to call
  RunService() in the child process. RunService() calls setpgid().
* Service::Stop() is called and calls KillProcessGroup().
  KillProcessGroup() calls kill(-pgid, SIGKILL) before the child process
  has called setpgid(). pgid is the process ID of the child process. The
  kill() call fails because setpgid() has not yet been called.

Fix this race condition by adding a setpgid() call in the parent process
and by waiting from the parent until the child has called setsid() if a
console is attached.

Bug: 213617178
Change-Id: Ieb9e6908df725447e3695ed66bb8bd30e4e38aa9
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2022-11-21 11:42:44 -08:00
Bart Van Assche
f2934de9c1 Merge "init: Introduce RequiresConsole()" 2022-11-21 18:08:35 +00:00
Bart Van Assche
27630f0d0f Merge "init: Introduce symbolic names for certain constants" 2022-11-21 18:07:56 +00:00
Bart Van Assche
254ae6c82b Merge "init: Reduce the number of system calls" 2022-11-21 03:18:44 +00:00
Bart Van Assche
30bd9e9522 Merge "Revert "init: Rename 'cgroups_activated' into 'fifo'"" 2022-11-21 03:18:31 +00:00
Bart Van Assche
3afd63273a Merge "init: Document which class Service members are not modified" 2022-11-21 03:18:19 +00:00
Bart Van Assche
208f93042b Merge "init: Add a unit test for the "start console" action" 2022-11-21 03:18:06 +00:00
Tri Vo
e49eb79e07 Merge "trusty: IRPC supportedNumKeysInCsr support" 2022-11-18 19:03:28 +00:00
Bart Van Assche
987391656f init: Introduce RequiresConsole()
Prepare for adding more code in the parent process that depends on
whether or not a console is required.

Bug: 213617178
Change-Id: I066ede32fcd4ce09d06be23158f3c1970064a697
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2022-11-18 09:49:43 -08:00
Bart Van Assche
c8f34254b8 init: Introduce symbolic names for certain constants
Make the code easier to read by introducing symbolic names for the
constants used by Service::Start() for communication between the parent
and child processes.

Bug: 213617178
Change-Id: I3e735e149682fa9df2ed57f75eb5a67d7c68bd92
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2022-11-18 09:49:01 -08:00
Bart Van Assche
d394f74365 init: Reduce the number of system calls
Change setpgid(0, getpid()) into setpgid(0, 0). This patch removes one
system call but does not change the behavior of the code. From the
setpgid() man page: "If pgid is zero, then the PGID of the process
specified by pid is made the same as its process ID."

Bug: 213617178
Change-Id: I7031d9eb3711f526751da495c07a8927f9386d97
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2022-11-18 09:45:33 -08:00
Bart Van Assche
41787239ec Revert "init: Rename 'cgroups_activated' into 'fifo'"
Revert commit 9c61dad67e in preparation of
introducing a second interprocess communication channel.

Bug: 213617178
Change-Id: I2959a3902a1b994cca2ac99855be1fc60d63bcbb
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2022-11-18 09:42:14 -08:00
Bart Van Assche
bfcf4374ed init: Document which class Service members are not modified
It is nontrivial to derive from the implementation of class Service
which members are not modified. Hence this CL that documents this by
declaring these members 'const'.

Change-Id: I27b907a1c7044376d5c5393a29050c66cbdab7bf
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2022-11-18 09:42:14 -08:00