Bug: 362507272
Test: Verify directory is created in /metadata
Change-Id: Ie1c2312f405d4b41e06a248e4d2b93cd8fc62a93
Signed-off-by: Akilesh Kailash <akailash@google.com>
The default permission of "/sys/block/zram0/idle" and
"/sys/block/zram0/writeback" are "0200".
Adding read permission to the files does not make sense because reading
those files fail as EIO error.
We should keep permission as minimum as possible.
Bug: 117682284
Bug: 375432468
Test: ls -la /sys/block/zram0
Change-Id: I11ed5d9eee257002f4698edcd81de39d2c317ea1
during initialization.
Bug: 365585450
Test: Manual test - verify that the mainline
supplicant can add/remove interfaces
Change-Id: Ib41b361a8b032c04586f108be9d1933214934286
This removes the error log when apexd-bootstrap starts:
cutils-trace: Error opening trace file: No such file or directory (2)
Bug: 376150518
Test: boot-time trace shows apexd-bootstrap
see https://source.android.com/docs/core/perf/boot-times#systrace
Change-Id: I5feaece50663a602b61377cee034060fd30217f9
Schedtune was an out of tree cgroup controller present in Android
kernels up to 4.19. It was replaced with uclamp and the cpu controller.
Now that 4.19 is EOL and unsupported, and schedtune is not present in
any supported Android kernels, remove the userspace support for
schedtune.
Bug: 362504801
Change-Id: Iab7b7295d1fb443209d5868ac5c65dca0aabfbab
Changes the owner of the following files to system:system:
* /sys/firmware/acpi/tables
* /sys/firmware/acpi/tables/BERT
* /sys/firmware/acpi/tables/data/BERT
This allows the bert_collector deamon to read these files for error reporting.
Bug: 357626966
Test: m && atest bert_collector_test
Change-Id: Iba3a169f1851566ee6fed6d41b538dae448bf811
This modifies first-stage init to check for /metadata/tradeinmode/wipe
as soon as /metadata is mounted. If the file exists, we issue a request
to the bootloader to reboot to recovery and wipe /data. Since this also
wipes /metadata, the wipe indicator will be removed too.
In case some kind of failure happens in recovery, this also implements a
quick-and-dirty counter mechanism to fallback to the recovery menu.
Bug: 307713521
Test: touch /metadata/tradeinmode/wipe && adb reboot
Change-Id: I2d05903cadcdadf9c05f6736454db790a9e6b5bb
The trigger name should be load-bpf-programs, not load_bpf_programs.
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I00cff0a3dd971de39dfc3226b140be972854ea28
In this change we're moving the asynchronous netd startup ahead of
the async statd and *synchronous* update_verifier.
This is desirable as we want a netd failure (which could
happen due to some mainline incompatibility wrt. bpf
or mainline shipped shared libs: resolver or netd updatable)
to be considered a signal for a bad boot.
It's still asynchronous though, so it's not ideal.
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ib3e252f085f569864feddaf20ac80858a3bb969d
Init is responsible for initializing the /dev/[u]random entropy
pool, to ensure that high quality random numbers are available
to all Android processes. Previously Android mixed in data
from /system/etc/prop.default, which included properties which
differed on a device-by-device basis. That file no longer exists,
and init generates the following error at boot:
init: Command 'copy /system/etc/prop.default /dev/urandom'
action=init (/system/etc/init/hw/init.rc:106) took 0ms and
failed: Could not read input file '/system/etc/prop.default':
open() failed: No such file or directory
Instead of reading a property file, this change modifies init.rc
to read from /proc/bootconfig. The bootconfig file contains
per-device data which was previously on the command line, such
as androidboot.serialno. Additionally, it contains device-class
information such as androidboot.hardware,
androidboot.hardware.platform, and data which frequently churns
such as androidboot.vbmeta.digest. These help ensure that the
random number initialization is at least unique on a per
device-class basis.
Relying on /proc/bootconfig accomplishes the same goal that
relying on /system/etc/prop.default was intended to accomplish.
And /proc/bootconfig is in a more stable location than
/system/etc/prop.default, hopefully preventing future regressions.
Bug: 361624398
Test: Device boots and error above goes away
Change-Id: Id5c891e871217d62ff6517c5804b4acc2d723622
post_data was used by Userspace Reboot, which was removed.
Bug: 293377020
Test: atest CtsInitTestCases
Change-Id: I1a5bf328f62b8afbe58eef62c64689471e6b018c
In multi-window mode, currently the focused window will be top-app,
and others will be foreground. However, the cpu resource we assign to
typical foreground group may not meet the performance need of those
windows. Therefore, create a new group for them so that we could
distinguish their performance need.
Bug: 200769420
Test: group created
Change-Id: I84c61f9ed4d167e156dafb7a816b6482e80a8523
Add post-fs-data-checkpointed trigger when vold completes checkpointing
after an OTA update.
Bug: 350362101
Test: ABTD
Change-Id: I647a73a942174015b46c5f40bd8f8d3347977ecd
It has been reported that CL "Make foreground and background I/O
priority different" causes Android devices equipped with eMMC storage
to reboot if there is sufficient I/O activity. Hence revert commit
7f3fe0aaf2.
Bug: 186902601
Bug: 342034992
Change-Id: I4fa9c782eb0e801b410cb358e20fe41acebe1094
Signed-off-by: Bart Van Assche <bvanassche@google.com>
aconfigd-mainline-init is the service target to initialize mainline
storage files. aconfigd is the service target to start aconfigd socket
for incoming messages.
Bug: b/312444587
Test: m and avd
Change-Id: Ic8052eaf933501da3371812c482ad816ec353b27
App metadata bundles, also known as Android Safety Labels (ASL),
contains information about the app's privacy and security practices.
This information is used to help users make more informed choices when,
for example, granting access to permissions.
ASL can currently only be preloaded on the system image or distributed
by the installer and written to a file in the app's codePath. To support
embedded ASL in APK we need to extract ASLs from APKs to a writeable
location. For non-preloaded apps we can write to the app's codePath like
the installer provided ASLs, however, we need to create a new writable
directory for preloaded apps located on read only partitions.
Bug: 336618214
Test: manual
Change-Id: I651b2dab45c3132d8467c507dc4ee304001f73f5
Creating the directory /data/storage_area (which will store each user's directory
of app directories of storage areas) on startup, and adding this directory
/data/storage_area to the tmpfs mirror so it can be protected by app data isolation
in zygote.
Bug: 325121608
Test: atest StorageAreaTest
Change-Id: Ia938e89fd8b794dbcbb844b01b790db7c0a62319
U requires 4.14+
V requires 4.19+
as such this is no longer useful
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I39d01cc16897c6c9174cf074e27c888bc758f1cc
which has been fully replaced by eBpf
(started in android P, finished in android S)
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ie38e54600a9bb01c7ecdde63d9a9256bed047f41
/data/misc already sets encryption=Require and this causes certain
devices not being able to boot with the following error:
init: Failed to set encryption policy of /data/misc/bootanim to
a5a40d896b46d8c6 v1 modes 127/4 flags 0x0: The directory already
has a different encryption policy.
init: Setting a5a40d896b46d8c6 policy on /data/misc/bootanim failed!
init: Setting policy failed, deleting: /data/misc/bootanim
init: Failed to set encryption policy of /data/misc/bootanim to
a5a40d896b46d8c6 v1 modes 127/4 flags 0x0: The directory already
has a different encryption policy.
init: Setting a5a40d896b46d8c6 policy on /data/misc/bootanim failed!
init: Rebooting into recovery
init: Got shutdown_command 'reboot,recovery' Calling
HandlePowerctlMessage()
Test: m; fastboot flashall, observe device boots successfully
Change-Id: I86a2b2b8fe8e438ca405a0e901739d11550d3ebd
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
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>
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
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
/metadta/aconfig/boot dirs
Create aconfig dirs on /metadata to store aconfig storage related files.
Under /metadata/aconfig we will store the following pb files:
1, aconfig_storage_location.pb, store the location of the storage files for
each container.
2, aconfig_flag_persistent_overrides.pb, store the local flag value overrides.
Under /metadata/aconfig/flags we will store flag value and info files
for each container, this include:
1, <container_name>.val flag value file
2, <container_name>.info flag info file
Under /metadata/aconfig/boot we will store read only flag value files
copied from /metadata/aconfig/flags at boot. These read only files are
used to serve flag read queries.
Bug: 312444587
Test: m
Change-Id: I8ae06e56fc9b9e8c0b06f86e3deb4219d7f49660
CL aosp/2929791 removed I/O priority support to prepare for a clean
revert of the CL that migrates the blkio controller from the v1 to the
v2 cgroup hierarchy. Since there was no other reason to revert the I/O
priority CL, restore I/O priority support.
Bug: 186902601
Change-Id: I1a4053140ab55973878bfeacfb546da3c601a895
Signed-off-by: Bart Van Assche <bvanassche@google.com>