The restorecon_recursive directive in init is only applied if the
file_contexts file changed between builds, but not necessarily if any
file or folder inside /mnt/vendor/persist/ has changed.
The restorecon code checks whether an xattr named
"security.sehash" contains a string that matches the current
combined hashes of the SELinux context files and skips restoring labels
if there is a match, see
https://android.googlesource.com/platform/external/selinux/+/refs/tags/android-9.0.0_r35/libselinux/src/android/android_platform.c#1546
Force wiping that xattr so that restorecon always runs since it's not
very expensive (there are currently only about 50 files on /persist).
The restorecon is needed to fix issues such as wrong stock labels on
/mnt/vendor/persist/sensors/:
sensors_persist_file -> persist_sensors_file
Change-Id: Ic0cd848836ee550499d9236f56ed6e939e35f01e
* To get rid of BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES
echo "$(cat proprietary-files.txt | sed 's/.*\.so$/-&/g' | sed 's/.*\.so|.*/-&/g' | sed 's/.*\/bin.*/-&/g' | sed "s/\-\-/\-/g")" > proprietary-files.txt
Change-Id: I0034a5732f522a2dd42d89d9c9ee6c8c1981f302
Android 12 forbids to assign version-baseband multiple times with
different values for different regions, hence append the hwc value
to the version-baseband string.
The lines have to follow this syntax now:
require version-baseband-${ro.boot.hwc}=${modem_version},${firmware_version}
Example for a device that wants assertions for global and chinese devices:
require version-baseband-CN=4.3.c5-00100,21.4.21
require version-baseband-GLOBAL=4.3.c5-00100,V12.1.2.0.RFJMIXM
Change-Id: Ib2c5b1c4588e6bfff1ebf5b7b1d8933d71e09251
We are going to enforce that each property has an explicit owner, such
as system, vendor, or product. This attaches vendor_property_type to
properties defined under vendor sepolicy directories.
Bug: 159097992
Test: m selinux_policy && boot device
Change-Id: Ibed833cd9e5d786e82985ded6bc62abdf8cd9ded
Merged-In: Ibed833cd9e5d786e82985ded6bc62abdf8cd9ded
(cherry picked from commit 44eb8e1f89adf04fd413a69391fd444ba68af742)
(cherry picked from commit 1922128397116d551a663d5344b4456a84bf46eb)
Fixes:
warning: BOARD_PLAT_PRIVATE_SEPOLICY_DIR has been deprecated.
Use SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS instead.
warning: BOARD_PLAT_PUBLIC_SEPOLICY_DIR has been deprecated.
Use SYSTEM_EXT_PUBLIC_SEPOLICY_DIRS instead.
Change-Id: I752602079de8ff4c5370fe3ec861b8746838d878
Squashed in this commit:
Author: TheScarastic <warabhishek@gmail.com>
Date: Tue Oct 12 13:29:07 2021 +0200
sm6150-common: fingerprint: Rename fod extension to udfps extension
Author: Vincent Vidal <vinvidal@gmail.com>
Date: Tue Aug 18 14:42:49 2020 +0200
sm6150-common: fod: Use FOD_PRESSED_LAYER_ZORDER instead of magic number
Author: Vincent Vidal <vinvidal@gmail.com>
Date: Tue Aug 18 14:40:50 2020 +0200
sm6150-common: fod: Include generated_kernel_headers to build libfod_extension
Change-Id: I51fb56c0a20e3cac83afb46ed6a6e2f967159d18
onFingerUp is not called when the finger is kept at the fod area
after it was accepted, which leads to cases where fod_status stays
enabled.
Change-Id: I95da8e12d5cac83dafdfcca286fb4145396a154b
hardware/fingerprint.h is imported from android-12.0.0_r1.
The xiaomi fingerprint extension command was added to the
fingerprint_device struct and it was clang-formatted.
Change-Id: I5c5f876eb47a558059a2423ca5f6cc75afaf3e1d
* Use Theme.SubSettingsBase for theme
* Replace PreferenceActivity with CollapsingToolbarBaseActivity
* Add Titles to prefernce screen
* Remove onOptionsItemSelected and where neccessary move to activity
Change-Id: I25f6dce7cf202487898facfa66e57ced86a85594
Following the commit f19703e ("common-treble: Provide radio, keymaster
and secure_element HAL on vendor"), starting with Android 12 most HAL
libraries are not included in VNDK anymore - they need to be explicitly
pulled in to `/vendor` for odm blobs to be allowed to access them:
QCamera : <MCI><ERROR> mm_camera_load_shim_lib: 3306: dlopen failed
with error dlopen failed: library
"android.frameworks.sensorservice@1.0.so" not found: needed by
/odm/lib/libmmcamera2_stats_modules.so in namespace (default)
android.frameworks.sensorservice@1.0 is used by at least mm-camera
framework.
Signed-off-by: Pavel Dubrova <pashadubrova@gmail.com>
Change-Id: I72d9bcda1fdfd48c5fb9cb21666edd995ae4d9af
Following the previous commit, starting with Android S most HAL
libraries are not included in VNDK anymore - they need to be explicitly
pulled in to `/vendor` for odm blobs to be allowed to access them:
linker : CANNOT LINK EXECUTABLE "/odm/bin/netmgrd": library "android.system.net.netd@1.1.so" not found: needed by main executable
Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>
Change-Id: Ide8adad466a61412a984a46d1562f8f2f6a62be3
In [1] Google removed many HIDL HAL libraries from VNDK, causing them to
only be installed to the system partition. This is inaccessible for
vendor apps and results in the usual:
linker : CANNOT LINK EXECUTABLE "/odm/bin/hw/android.hardware.keymaster@4.0-service-qti": library "android.hardware.keymaster@4.0.so" not found: needed by main executable
linker : CANNOT LINK EXECUTABLE "/odm/bin/hw/android.hardware.keymaster@4.0-service-qti": library "android.hardware.keymaster@4.1.so" not found: needed by /odm/lib64/libqtikeymaster4.so in namespace (default)
linker : CANNOT LINK EXECUTABLE "/odm/bin/hw/vendor.somc.hardware.modemswitcher@1.0-service": library "android.hardware.radio.config@1.0.so" not found: needed by /odm/lib64/libril-qc-hal-qmi.so in namespace (default)
linker : CANNOT LINK EXECUTABLE "/odm/bin/hw/qcrild": library "android.hardware.secure_element@1.1.so" not found: needed by /odm/lib64/libril-qc-hal-qmi.so in namespace (default)
linker : CANNOT LINK EXECUTABLE "/odm/bin/hw/qcrild": library "android.hardware.secure_element@1.2.so" not found: needed by /odm/lib64/libril-qc-hal-qmi.so in namespace (default)
linker : CANNOT LINK EXECUTABLE "/odm/bin/hw/qcrild": library "android.hardware.radio.deprecated@1.0.so" not found: needed by /odm/lib64/libril-qc-hal-qmi.so in namespace (default)
These libraries are listed in common-treble because they're used by ODM
apps but have no explicit vendor dependency (ie. a binary placed on
/vendor) to put them in a vendor-available space. The default is to
include system variants which is why the dependencies have to be
suffixed with `.vendor` so that they're shipped in `/vendor` and are
available for our ODM blobs even on GSIs.
[1]: d610435ac4
Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>
Change-Id: I8344b85fb4e86a913bd8d9071ce49150ed093575
The first default zram write back time is 3 hours which
is for go device to quickly save more ram. For Pixel
devices, we have more working set and could bring launch
time impact if we write back too fast. Thus, adjust the
first time write back time to 24 hours which is aligned
with periodic write back time.
Bug: 166739872
Test: boot
Signed-off-by: Martin Liu <liumartin@google.com>
Change-Id: I2388dd6d75ab0a938fe0edae0563fd26e48c9908
[libfs_mgr]Warning: unknown flag: zram_loopback_path=/data/per_boot/zram_swap
[libfs_mgr]Warning: unknown flag: zram_loopback_size=512M
We don't use zram_loopback_path any longer so remove it.
We also changed zram_loopback_size with zram_backingdev_size so correct it.
Bug: 145330273
Bug: 145116439
Test: confirmed there is no warning and zram backing device was configured
Change-Id: I51be34c59203813a2f493eee6ab442c9940b75d7
Signed-off-by: Minchan Kim <minchan@google.com>
Signed-off-by: YH_Lin <yhli@google.com>
-Switch to LZ4 for better overall performance
-Set max_comp_streams to num of cores since upstream also moves this to
percpu.
-Set page-cluster to 0 as the incremental cost of reading 1 page at a
time is negligible for zram
Bug: 38249616
Test: boot and run zram-perf showing better performance
Change-Id: I0b92b246d773db85aa03d033b2cecee54347cbd1
* The modem version is a minimum requirement, hence it's useless to
assert on multiple modem versions.
Change-Id: I206b05365681d2292417dfbdc78b9faf11e2a295