MTE is a low overhead tool which enables detection of memory safety bugs in interactive workloads. See https://source.android.com/docs/security/test/memory-safety/arm-mte for background and information. This change enables MTE by default on -eng builds on zuma builds. Co-authored-by: Evgenii Stepanov <eugenis@google.com> Test: Device boots and no MTE crashes Test: sanitizer-status mte Bug: 316398899 Change-Id: Iff5ab9d7031d8b97bf762d85f6760a092631e121
72 lines
2.9 KiB
Makefile
72 lines
2.9 KiB
Makefile
#
|
|
# Copyright (C) 2020 The Android Open-Source Project
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
|
|
-include vendor/google_devices/zuma/proprietary/telephony/device-vendor.mk
|
|
include device/google/zuma/device.mk
|
|
|
|
# Telephony
|
|
PRODUCT_COPY_FILES += \
|
|
frameworks/native/data/etc/android.hardware.telephony.carrierlock.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.carrierlock.xml
|
|
|
|
# Android Verified Boot
|
|
PRODUCT_COPY_FILES += \
|
|
frameworks/native/data/etc/android.software.verified_boot.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.verified_boot.xml
|
|
|
|
# Set system properties identifying the chipset
|
|
PRODUCT_VENDOR_PROPERTIES += ro.soc.manufacturer=Google
|
|
TARGET_VENDOR_PROP += device/google/zuma/vendor.prop
|
|
|
|
PRODUCT_PRODUCT_PROPERTIES += \
|
|
persist.vendor.testing_battery_profile=2
|
|
|
|
# The default value of this variable is false and should only be set to true when
|
|
# the device allows users to retain eSIM profiles after factory reset of user data.
|
|
PRODUCT_PRODUCT_PROPERTIES += \
|
|
masterclear.allow_retain_esim_profiles_after_fdr=true
|
|
|
|
# ZramWriteback
|
|
-include hardware/google/pixel/mm/device_gki.mk
|
|
|
|
# Set thermal warm reset
|
|
PRODUCT_PRODUCT_PROPERTIES += \
|
|
ro.thermal_warmreset = true
|
|
|
|
# Trigger fsck on upgrade (305658663)
|
|
PRODUCT_PRODUCT_PROPERTIES += \
|
|
ro.preventative_fsck = 1
|
|
|
|
# Indicate that the bootloader supports the MTE developer option switch
|
|
# (MISC_MEMTAG_MODE_MEMTAG_ONCE), with the exception of _fullmte products and
|
|
# eng products that force enable MTE
|
|
ifeq (,$(filter %_fullmte,$(TARGET_PRODUCT)))
|
|
ifeq (,$(filter eng,$(TARGET_BUILD_VARIANT)))
|
|
PRODUCT_PRODUCT_PROPERTIES += ro.arm64.memtag.bootctl_supported=1
|
|
# N.B. persist properties in product Makefiles aren't actually persisted to the data
|
|
# partition, so they will actually go away if we remove them here, or if the user
|
|
# flashes from a normal build to a fullmte build.
|
|
PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.app.com.android.se=off
|
|
PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.app.com.google.android.bluetooth=off
|
|
PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.app.com.android.nfc=off
|
|
PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.system_server=off
|
|
endif
|
|
endif
|
|
|
|
ifeq (,$(filter %_fullmte,$(TARGET_PRODUCT)))
|
|
ifneq (,$(filter eng,$(TARGET_BUILD_VARIANT)))
|
|
PRODUCT_COPY_FILES += \
|
|
device/google/zuma/conf/init.eng.memtag.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.eng.memtag.rc
|
|
endif
|
|
endif
|