Merge "Label /sys/devices/virtual/net from device sepolicy."
diff --git a/common/base.mk b/common/base.mk
index 3468cb2..176418d 100644
--- a/common/base.mk
+++ b/common/base.mk
@@ -850,7 +850,6 @@
SystemUIGoogle \
SettingsGoogle \
NexusLauncherPrebuilt \
- GoogleCamera \
PRODUCT_LOADED_BY_PRIVILEGED_MODULES += \
qti-vzw-ims-internal \
diff --git a/device-common.mk b/device-common.mk
index 39fbc47..9032d19 100644
--- a/device-common.mk
+++ b/device-common.mk
@@ -600,30 +600,5 @@
PRODUCT_COPY_FILES += \
device/google/marlin/qti_whitelist.xml:system/etc/sysconfig/qti_whitelist.xml
-PRODUCT_PROPERTY_OVERRIDES += \
- ro.vendor.vndk.version=26.1.0 \
-
PRODUCT_PACKAGES += \
- android.hardware.renderscript@1.0.vndk-sp\
- android.hardware.graphics.allocator@2.0.vndk-sp\
- android.hardware.graphics.mapper@2.0.vndk-sp\
- android.hardware.graphics.common@1.0.vndk-sp\
- libhwbinder.vndk-sp\
- libbase.vndk-sp\
- libcutils.vndk-sp\
- libhardware.vndk-sp\
- libhidlbase.vndk-sp\
- libhidltransport.vndk-sp\
- libutils.vndk-sp\
- libc++.vndk-sp\
- libRS_internal.vndk-sp\
- libRSDriver.vndk-sp\
- libRSCpuRef.vndk-sp\
- libbcinfo.vndk-sp\
- libblas.vndk-sp\
- libcompiler_rt.vndk-sp\
- libbacktrace.vndk-sp\
- libunwind.vndk-sp\
- libunwindstack.vndk-sp\
- liblzma.vndk-sp\
- libutilscallstack.vndk-sp\
+ vndk-sp
diff --git a/manifest.xml b/manifest.xml
index fd39618..10808fb 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -83,15 +83,17 @@
<hal format="hidl">
<name>android.hardware.drm</name>
<transport>hwbinder</transport>
- <version>1.0</version>
+ <version>1.1</version>
<interface>
<name>ICryptoFactory</name>
<instance>widevine</instance>
+ <instance>clearkey</instance>
<instance>default</instance>
</interface>
<interface>
<name>IDrmFactory</name>
<instance>widevine</instance>
+ <instance>clearkey</instance>
<instance>default</instance>
</interface>
</hal>
diff --git a/nfc/libnfc-nci.conf b/nfc/libnfc-nci.conf
index 541cd05..3ea628e 100644
--- a/nfc/libnfc-nci.conf
+++ b/nfc/libnfc-nci.conf
@@ -377,3 +377,6 @@
# Bail out mode
# If set to 1, NFCC is using bail out mode for either Type A or Type B poll.
NFA_POLL_BAIL_OUT_MODE=0x01
+
+# Extended APDU length for ISO_DEP
+ISO_DEP_MAX_TRANSCEIVE=0xFEFF
diff --git a/self-extractors/extract-lists.txt b/self-extractors/extract-lists.txt
index c297181..fc164dc 100644
--- a/self-extractors/extract-lists.txt
+++ b/self-extractors/extract-lists.txt
@@ -9,19 +9,14 @@
system/etc/cne/Nexus/ATT/ATT_profiles.xml \
system/etc/cne/Nexus/ROW/ROW_profiles.xml \
system/etc/cne/Nexus/VZW/VZW_profiles.xml \
- system/etc/permissions/com.android.ims.rcsmanager.xml \
- system/framework/com.android.ims.rcsmanager.jar \
- system/lib64/libaptX_encoder.so \
- system/lib64/libaptXHD_encoder.so \
+ system/framework/qcrilhook.jar \
system/lib/libclcore_neon.bc \
system/lib64/libiperf.so \
system/lib64/libminui.so \
- system/lib/libaptX_encoder.so \
- system/lib/libaptXHD_encoder.so \
system/lib64/libbcc.so \
system/lib/libion.so \
system/lib/libiperf.so \
- system/lib64/libLLVM.so \
+ system/lib64/libLLVM_android.so \
system/lib/libminui.so \
system/xbin/iperf3 \
system/xbin/sanitizer-status \
diff --git a/self-extractors/qcom/staging/device-partial.mk b/self-extractors/qcom/staging/device-partial.mk
index 495955c..9d14348 100644
--- a/self-extractors/qcom/staging/device-partial.mk
+++ b/self-extractors/qcom/staging/device-partial.mk
@@ -12,25 +12,25 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+# AOSP packages required by the blobs
+PRODUCT_PACKAGES := \
+ com.android.ims.rcsmanager.xml \
+ com.android.ims.rcsmanager
+
# blob(s) necessary for Marlin hardware
PRODUCT_COPY_FILES := \
vendor/qcom/marlin/proprietary/pktlogconf:system/bin/pktlogconf:qcom \
vendor/qcom/marlin/proprietary/ATT_profiles.xml:system/etc/cne/Nexus/ATT/ATT_profiles.xml:qcom \
vendor/qcom/marlin/proprietary/ROW_profiles.xml:system/etc/cne/Nexus/ROW/ROW_profiles.xml:qcom \
vendor/qcom/marlin/proprietary/VZW_profiles.xml:system/etc/cne/Nexus/VZW/VZW_profiles.xml:qcom \
- vendor/qcom/marlin/proprietary/com.android.ims.rcsmanager.xml:system/etc/permissions/com.android.ims.rcsmanager.xml:qcom \
- vendor/qcom/marlin/proprietary/com.android.ims.rcsmanager.jar:system/framework/com.android.ims.rcsmanager.jar:qcom \
- vendor/qcom/marlin/proprietary/lib64/libaptX_encoder.so:system/lib64/libaptX_encoder.so:qcom \
- vendor/qcom/marlin/proprietary/lib64/libaptXHD_encoder.so:system/lib64/libaptXHD_encoder.so:qcom \
+ vendor/qcom/marlin/proprietary/qcrilhook.jar:system/framework/qcrilhook.jar:qcom \
vendor/qcom/marlin/proprietary/libclcore_neon.bc:system/lib/libclcore_neon.bc:qcom \
vendor/qcom/marlin/proprietary/lib64/libiperf.so:system/lib64/libiperf.so:qcom \
vendor/qcom/marlin/proprietary/lib64/libminui.so:system/lib64/libminui.so:qcom \
- vendor/qcom/marlin/proprietary/libaptX_encoder.so:system/lib/libaptX_encoder.so:qcom \
- vendor/qcom/marlin/proprietary/libaptXHD_encoder.so:system/lib/libaptXHD_encoder.so:qcom \
vendor/qcom/marlin/proprietary/lib64/libbcc.so:system/lib64/libbcc.so:qcom \
vendor/qcom/marlin/proprietary/libion.so:system/lib/libion.so:qcom \
vendor/qcom/marlin/proprietary/libiperf.so:system/lib/libiperf.so:qcom \
- vendor/qcom/marlin/proprietary/lib64/libLLVM.so:system/lib64/libLLVM.so:qcom \
+ vendor/qcom/marlin/proprietary/lib64/libLLVM_android.so:system/lib64/libLLVM_android.so:qcom \
vendor/qcom/marlin/proprietary/libminui.so:system/lib/libminui.so:qcom \
vendor/qcom/marlin/proprietary/iperf3:system/xbin/iperf3:qcom \
vendor/qcom/marlin/proprietary/sanitizer-status:system/xbin/sanitizer-status:qcom \
diff --git a/self-extractors_sailfish/extract-lists.txt b/self-extractors_sailfish/extract-lists.txt
index c297181..b3fd437 100644
--- a/self-extractors_sailfish/extract-lists.txt
+++ b/self-extractors_sailfish/extract-lists.txt
@@ -11,17 +11,14 @@
system/etc/cne/Nexus/VZW/VZW_profiles.xml \
system/etc/permissions/com.android.ims.rcsmanager.xml \
system/framework/com.android.ims.rcsmanager.jar \
- system/lib64/libaptX_encoder.so \
- system/lib64/libaptXHD_encoder.so \
+ system/framework/qcrilhook.jar \
system/lib/libclcore_neon.bc \
system/lib64/libiperf.so \
system/lib64/libminui.so \
- system/lib/libaptX_encoder.so \
- system/lib/libaptXHD_encoder.so \
system/lib64/libbcc.so \
system/lib/libion.so \
system/lib/libiperf.so \
- system/lib64/libLLVM.so \
+ system/lib64/libLLVM_android.so \
system/lib/libminui.so \
system/xbin/iperf3 \
system/xbin/sanitizer-status \
diff --git a/self-extractors_sailfish/qcom/staging/device-partial.mk b/self-extractors_sailfish/qcom/staging/device-partial.mk
index 70d1b4e..8a54876 100644
--- a/self-extractors_sailfish/qcom/staging/device-partial.mk
+++ b/self-extractors_sailfish/qcom/staging/device-partial.mk
@@ -20,17 +20,14 @@
vendor/qcom/sailfish/proprietary/VZW_profiles.xml:system/etc/cne/Nexus/VZW/VZW_profiles.xml:qcom \
vendor/qcom/sailfish/proprietary/com.android.ims.rcsmanager.xml:system/etc/permissions/com.android.ims.rcsmanager.xml:qcom \
vendor/qcom/sailfish/proprietary/com.android.ims.rcsmanager.jar:system/framework/com.android.ims.rcsmanager.jar:qcom \
- vendor/qcom/sailfish/proprietary/lib64/libaptX_encoder.so:system/lib64/libaptX_encoder.so:qcom \
- vendor/qcom/sailfish/proprietary/lib64/libaptXHD_encoder.so:system/lib64/libaptXHD_encoder.so:qcom \
+ vendor/qcom/sailfish/proprietary/qcrilhook.jar:system/framework/qcrilhook.jar:qcom \
vendor/qcom/sailfish/proprietary/libclcore_neon.bc:system/lib/libclcore_neon.bc:qcom \
vendor/qcom/sailfish/proprietary/lib64/libiperf.so:system/lib64/libiperf.so:qcom \
vendor/qcom/sailfish/proprietary/lib64/libminui.so:system/lib64/libminui.so:qcom \
- vendor/qcom/sailfish/proprietary/libaptX_encoder.so:system/lib/libaptX_encoder.so:qcom \
- vendor/qcom/sailfish/proprietary/libaptXHD_encoder.so:system/lib/libaptXHD_encoder.so:qcom \
vendor/qcom/sailfish/proprietary/lib64/libbcc.so:system/lib64/libbcc.so:qcom \
vendor/qcom/sailfish/proprietary/libion.so:system/lib/libion.so:qcom \
vendor/qcom/sailfish/proprietary/libiperf.so:system/lib/libiperf.so:qcom \
- vendor/qcom/sailfish/proprietary/lib64/libLLVM.so:system/lib64/libLLVM.so:qcom \
+ vendor/qcom/sailfish/proprietary/lib64/libLLVM_android.so:system/lib64/libLLVM_android.so:qcom \
vendor/qcom/sailfish/proprietary/libminui.so:system/lib/libminui.so:qcom \
vendor/qcom/sailfish/proprietary/iperf3:system/xbin/iperf3:qcom \
vendor/qcom/sailfish/proprietary/sanitizer-status:system/xbin/sanitizer-status:qcom \
diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts
index 423a0eb..87fc434 100644
--- a/sepolicy/file_contexts
+++ b/sepolicy/file_contexts
@@ -112,11 +112,12 @@
/vendor/bin/nanoapp_cmd u:object_r:nanoapp_cmd_exec:s0
# files in /vendor
-/vendor/bin/hw/android\.hardware\.drm@1\.0-service.widevine u:object_r:hal_drm_widevine_exec:s0
-/vendor/bin/hw/android\.hardware\.dumpstate@1\.0-service.marlin u:object_r:hal_dumpstate_impl_exec:s0
-/vendor/bin/hw/android\.hardware\.power@1\.1-service.marlin u:object_r:hal_power_default_exec:s0
-/vendor/bin/hw/android\.hardware\.usb@1\.1-service.marlin u:object_r:hal_usb_default_exec:s0
-/vendor/bin/hw/android\.hardware\.vibrator@1\.0-service.marlin u:object_r:hal_vibrator_default_exec:s0
+/vendor/bin/hw/android\.hardware\.drm@1\.0-service\.widevine u:object_r:hal_drm_widevine_exec:s0
+/vendor/bin/hw/android\.hardware\.drm@1\.1-service\.clearkey u:object_r:hal_drm_clearkey_exec:s0
+/vendor/bin/hw/android\.hardware\.dumpstate@1\.0-service\.marlin u:object_r:hal_dumpstate_impl_exec:s0
+/vendor/bin/hw/android\.hardware\.power@1\.1-service\.marlin u:object_r:hal_power_default_exec:s0
+/vendor/bin/hw/android\.hardware\.usb@1\.1-service\.marlin u:object_r:hal_usb_default_exec:s0
+/vendor/bin/hw/android\.hardware\.vibrator@1\.0-service\.marlin u:object_r:hal_vibrator_default_exec:s0
/vendor/bin/msm_irqbalance u:object_r:irqbalance_exec:s0
/vendor/bin/nanohub_slpi u:object_r:nanohub_slpi_exec:s0
/vendor/bin/perfd u:object_r:perfd_exec:s0
diff --git a/sepolicy/hal_audio_default.te b/sepolicy/hal_audio_default.te
index 477279a..f4e1f06 100644
--- a/sepolicy/hal_audio_default.te
+++ b/sepolicy/hal_audio_default.te
@@ -12,3 +12,5 @@
allow hal_audio_default audio_vendor_data_file:dir rw_dir_perms;
allow hal_audio_default audio_vendor_data_file:file create_file_perms;
+
+dontaudit hal_audio_default hal_power_hwservice:hwservice_manager find;
diff --git a/sepolicy/hal_drm_clearkey.te b/sepolicy/hal_drm_clearkey.te
new file mode 100644
index 0000000..976b9fa
--- /dev/null
+++ b/sepolicy/hal_drm_clearkey.te
@@ -0,0 +1,11 @@
+# policy for /vendor/bin/hw/android.hardware.drm@1.1-service.clearkey
+type hal_drm_clearkey, domain;
+type hal_drm_clearkey_exec, exec_type, vendor_file_type, file_type;
+
+init_daemon_domain(hal_drm_clearkey)
+
+hal_server_domain(hal_drm_clearkey, hal_drm)
+
+vndbinder_use(hal_drm_clearkey);
+
+allow hal_drm_clearkey { appdomain -isolated_app }:fd use;
diff --git a/sepolicy/vendor_init.te b/sepolicy/vendor_init.te
index ec405df..554e792 100644
--- a/sepolicy/vendor_init.te
+++ b/sepolicy/vendor_init.te
@@ -37,3 +37,5 @@
allow vendor_init {
location_data_file
}:sock_file setattr;
+
+set_prop(vendor_init, thermal_prop)
diff --git a/vndk/Android.mk b/vndk/Android.mk
index d903b63..eb1e048 100644
--- a/vndk/Android.mk
+++ b/vndk/Android.mk
@@ -1,55 +1,64 @@
LOCAL_PATH := $(call my-dir)
+# b/69526027: This VNDK-SP install routine must be removed. Instead, we must
+# build vendor variants of the VNDK-SP modules.
+
ifndef BOARD_VNDK_VERSION
+# The libs with "vndk: {enabled: true, support_system_process: true}" will be
+# added VNDK_SP_LIBRARIES automatically. And the core variants of the VNDK-SP
+# libs will be copied to vndk-sp directory.
+# However, some of those libs need FWK-ONLY libs, which must be listed here
+# manually.
VNDK_SP_LIBRARIES := \
- android.hardware.renderscript@1.0\
- android.hardware.graphics.mapper@2.0\
- android.hardware.graphics.common@1.0\
- libhwbinder\
- libbase\
- libcutils\
- libhardware\
- libhidlbase\
- libhidltransport\
- libutils\
- libc++\
- libRS_internal\
- libRSDriver\
- libRSCpuRef\
- libbcinfo\
- libblas\
- libcompiler_rt\
- libbacktrace\
- libunwind\
- libunwindstack\
- liblzma\
- libutilscallstack\
+ libdexfile
-endif
+install_in_hw_dir := \
+ android.hidl.memory@1.0-impl
-define add-vndk-sp-lib
+define define-vndk-sp-lib
include $$(CLEAR_VARS)
-LOCAL_MODULE := $1.vndk-sp
+LOCAL_MODULE := $1.vndk-sp-gen
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
-LOCAL_PREBUILT_MODULE_FILE := $$(TARGET_OUT)/lib/$1.so
+LOCAL_PREBUILT_MODULE_FILE := $$(call intermediates-dir-for,SHARED_LIBRARIES,$1,,,,)/$1.so
+LOCAL_STRIP_MODULE := false
+LOCAL_MULTILIB := first
+LOCAL_MODULE_TAGS := optional
+LOCAL_INSTALLED_MODULE_STEM := $1.so
+LOCAL_MODULE_SUFFIX := .so
+LOCAL_MODULE_RELATIVE_PATH := vndk-sp$(if $(filter $1,$(install_in_hw_dir)),/hw)
+include $$(BUILD_PREBUILT)
+
+ifneq ($$(TARGET_2ND_ARCH),)
+ifneq ($$(TARGET_TRANSLATE_2ND_ARCH),true)
+include $$(CLEAR_VARS)
+LOCAL_MODULE := $1.vndk-sp-gen
+LOCAL_MODULE_CLASS := SHARED_LIBRARIES
+LOCAL_PREBUILT_MODULE_FILE := $$(call intermediates-dir-for,SHARED_LIBRARIES,$1,,,$$(TARGET_2ND_ARCH_VAR_PREFIX),)/$1.so
+LOCAL_STRIP_MODULE := false
LOCAL_MULTILIB := 32
LOCAL_MODULE_TAGS := optional
LOCAL_INSTALLED_MODULE_STEM := $1.so
LOCAL_MODULE_SUFFIX := .so
-LOCAL_MODULE_RELATIVE_PATH := vndk-sp
+LOCAL_MODULE_RELATIVE_PATH := vndk-sp$(if $(filter $1,$(install_in_hw_dir)),/hw)
include $$(BUILD_PREBUILT)
-
-include $$(CLEAR_VARS)
-LOCAL_MODULE := $1.vndk-sp
-LOCAL_MODULE_CLASS := SHARED_LIBRARIES
-LOCAL_PREBUILT_MODULE_FILE := $$(TARGET_OUT)/lib64/$1.so
-LOCAL_MULTILIB := 64
-LOCAL_MODULE_TAGS := optional
-LOCAL_INSTALLED_MODULE_STEM := $1.so
-LOCAL_MODULE_SUFFIX := .so
-LOCAL_MODULE_RELATIVE_PATH := vndk-sp
-include $$(BUILD_PREBUILT)
+endif # TARGET_TRANSLATE_2ND_ARCH is not true
+endif # TARGET_2ND_ARCH is not empty
endef
+# Add VNDK-SP libs to the list if they are missing
+$(foreach lib,$(VNDK_SAMEPROCESS_LIBRARIES),\
+ $(if $(filter $(lib),$(VNDK_SP_LIBRARIES)),,\
+ $(eval VNDK_SP_LIBRARIES += $(lib))))
+
$(foreach lib,$(VNDK_SP_LIBRARIES),\
- $(eval $(call add-vndk-sp-lib,$(lib))))
+ $(eval $(call define-vndk-sp-lib,$(lib))))
+
+install_in_hw_dir :=
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := vndk-sp
+LOCAL_MODULE_OWNER := google
+LOCAL_MODULE_TAGS := optional
+LOCAL_REQUIRED_MODULES := $(addsuffix .vndk-sp-gen,$(VNDK_SP_LIBRARIES))
+include $(BUILD_PHONY_PACKAGE)
+endif