Merge "Enable HWASan for multiple modules in one place(Make)" am: 6d406f854e am: ec7016d160 am: 9ac9426ce6 am: 2c8357bf22 am: 97a8b7f17d

Original change: https://android-review.googlesource.com/c/platform/build/+/2495518

Change-Id: I28400a05ec35ad43620ccc544fabe041aebd21f8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot
2023-04-29 03:31:37 +00:00
committed by Automerger Merge Worker
3 changed files with 15 additions and 0 deletions

View File

@@ -155,6 +155,17 @@ ifeq ($(filter memtag_heap, $(my_sanitize)),)
endif
endif
# Enable HWASan in included paths.
ifeq ($(filter hwaddress, $(my_sanitize)),)
combined_include_paths := $(HWASAN_INCLUDE_PATHS) \
$(PRODUCT_HWASAN_INCLUDE_PATHS)
ifneq ($(strip $(foreach dir,$(subst $(comma),$(space),$(combined_include_paths)),\
$(filter $(dir)%,$(LOCAL_PATH)))),)
my_sanitize := hwaddress $(my_sanitize)
endif
endif
# If CFI is disabled globally, remove it from my_sanitize.
ifeq ($(strip $(ENABLE_CFI)),false)
my_sanitize := $(filter-out cfi,$(my_sanitize))

View File

@@ -244,6 +244,9 @@ _product_list_vars += PRODUCT_CFI_INCLUDE_PATHS
# Whether any paths are excluded from sanitization when SANITIZE_TARGET=cfi
_product_list_vars += PRODUCT_CFI_EXCLUDE_PATHS
# Whether any paths should have HWASan enabled for components
_product_list_vars += PRODUCT_HWASAN_INCLUDE_PATHS
# Whether the Scudo hardened allocator is disabled platform-wide
_product_single_value_vars += PRODUCT_DISABLE_SCUDO

View File

@@ -120,6 +120,7 @@ $(call add_json_bool, EnableCFI, $(call invert_bool,$(fi
$(call add_json_list, CFIExcludePaths, $(CFI_EXCLUDE_PATHS) $(PRODUCT_CFI_EXCLUDE_PATHS))
$(call add_json_list, CFIIncludePaths, $(CFI_INCLUDE_PATHS) $(PRODUCT_CFI_INCLUDE_PATHS))
$(call add_json_list, IntegerOverflowExcludePaths, $(INTEGER_OVERFLOW_EXCLUDE_PATHS) $(PRODUCT_INTEGER_OVERFLOW_EXCLUDE_PATHS))
$(call add_json_list, HWASanIncludePaths, $(HWASAN_INCLUDE_PATHS) $(PRODUCT_HWASAN_INCLUDE_PATHS))
$(call add_json_list, MemtagHeapExcludePaths, $(MEMTAG_HEAP_EXCLUDE_PATHS) $(PRODUCT_MEMTAG_HEAP_EXCLUDE_PATHS))
$(call add_json_list, MemtagHeapAsyncIncludePaths, $(MEMTAG_HEAP_ASYNC_INCLUDE_PATHS) $(PRODUCT_MEMTAG_HEAP_ASYNC_INCLUDE_PATHS))