From 1719d7c0c0e86a0c17529f96a5f0d5566f5b1979 Mon Sep 17 00:00:00 2001 From: Vikram Panduranga Date: Fri, 24 May 2019 17:02:47 -0700 Subject: [PATCH] hal: Enable integer overflow sanitizer Enable integer overflow sanitizer in audio HAL for kona. Change-Id: I16a81af39c888f9e5c3c10187ad81d29035a8bc0 --- audiod/Android.mk | 3 ++ hal/Android.mk | 3 ++ hal/audio_extn/Android.mk | 42 ++++++++++++++++++++++++++ hdmi_in_test/Android.mk | 3 ++ mm-audio/aenc-aac/qdsp6/Android.mk | 6 ++++ mm-audio/aenc-amrnb/qdsp6/Android.mk | 6 ++++ mm-audio/aenc-evrc/qdsp6/Android.mk | 6 ++++ mm-audio/aenc-g711/qdsp6/Android.mk | 6 ++++ mm-audio/aenc-qcelp13/qdsp6/Android.mk | 6 ++++ post_proc/Android.mk | 12 ++++++++ qahw/Android.mk | 3 ++ qahw_api/Android.mk | 3 ++ qahw_api/test/Android.mk | 6 ++++ visualizer/Android.mk | 3 ++ voice_processing/Android.mk | 3 ++ 15 files changed, 111 insertions(+) diff --git a/audiod/Android.mk b/audiod/Android.mk index c89b3cd8..8633959a 100644 --- a/audiod/Android.mk +++ b/audiod/Android.mk @@ -26,4 +26,7 @@ LOCAL_ADDITIONAL_DEPENDENCIES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr LOCAL_MODULE:= audiod +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_EXECUTABLE) diff --git a/hal/Android.mk b/hal/Android.mk index 1477e0a7..c8a07160 100644 --- a/hal/Android.mk +++ b/hal/Android.mk @@ -353,6 +353,9 @@ LOCAL_MODULE_OWNER := qti LOCAL_VENDOR_MODULE := true +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) LOCAL_CFLAGS += -Wno-unused-variable diff --git a/hal/audio_extn/Android.mk b/hal/audio_extn/Android.mk index 255bc4ec..993c5cb6 100644 --- a/hal/audio_extn/Android.mk +++ b/hal/audio_extn/Android.mk @@ -50,6 +50,9 @@ endif LOCAL_HEADER_LIBRARIES += libhardware_headers LOCAL_HEADER_LIBRARIES += libsystem_headers +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) #-------------------------------------------- @@ -109,6 +112,9 @@ endif LOCAL_HEADER_LIBRARIES += libhardware_headers LOCAL_HEADER_LIBRARIES += libsystem_headers +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) #------------------------------------------- @@ -168,6 +174,9 @@ endif LOCAL_HEADER_LIBRARIES += libhardware_headers LOCAL_HEADER_LIBRARIES += libsystem_headers +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif #include $(BUILD_SHARED_LIBRARY) #-------------------------------------------- @@ -227,6 +236,9 @@ endif LOCAL_HEADER_LIBRARIES += libhardware_headers LOCAL_HEADER_LIBRARIES += libsystem_headers +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) #-------------------------------------------- @@ -282,6 +294,9 @@ LOCAL_ADDITIONAL_DEPENDENCIES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr LOCAL_HEADER_LIBRARIES += libhardware_headers LOCAL_HEADER_LIBRARIES += libsystem_headers +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) #==================================================================================================== # --- enable 3rd Party Spkr-prot lib @@ -337,6 +352,9 @@ LOCAL_ADDITIONAL_DEPENDENCIES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr LOCAL_HEADER_LIBRARIES += libhardware_headers LOCAL_HEADER_LIBRARIES += libsystem_headers +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) #------------------------------------------- @@ -395,6 +413,9 @@ endif LOCAL_HEADER_LIBRARIES += libhardware_headers LOCAL_HEADER_LIBRARIES += libsystem_headers +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) #------------------------------------------- @@ -456,6 +477,9 @@ endif LOCAL_HEADER_LIBRARIES += libhardware_headers LOCAL_HEADER_LIBRARIES += libsystem_headers +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) #------------------------------------------- @@ -515,6 +539,9 @@ endif LOCAL_HEADER_LIBRARIES += libhardware_headers LOCAL_HEADER_LIBRARIES += libsystem_headers +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) #------------------------------------------- @@ -577,6 +604,9 @@ endif LOCAL_HEADER_LIBRARIES += libhardware_headers LOCAL_HEADER_LIBRARIES += libsystem_headers +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) #------------------------------------------- @@ -647,6 +677,9 @@ endif LOCAL_HEADER_LIBRARIES += libhardware_headers LOCAL_HEADER_LIBRARIES += libsystem_headers +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) #------------------------------------------- @@ -706,6 +739,9 @@ endif LOCAL_HEADER_LIBRARIES += libhardware_headers LOCAL_HEADER_LIBRARIES += libsystem_headers +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif #include $(BUILD_SHARED_LIBRARY) #------------------------------------------- @@ -764,6 +800,9 @@ endif LOCAL_HEADER_LIBRARIES += libhardware_headers LOCAL_HEADER_LIBRARIES += libsystem_headers +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) #------------------------------------------- # Build AUDIOZOOM @@ -821,6 +860,9 @@ endif LOCAL_HEADER_LIBRARIES += libhardware_headers LOCAL_HEADER_LIBRARIES += libsystem_headers +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) diff --git a/hdmi_in_test/Android.mk b/hdmi_in_test/Android.mk index d016cb33..47b046ab 100644 --- a/hdmi_in_test/Android.mk +++ b/hdmi_in_test/Android.mk @@ -18,4 +18,7 @@ LOCAL_CPPFLAGS += --coverage -fprofile-arcs -ftest-coverage LOCAL_STATIC_LIBRARIES += libprofile_rt endif +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_EXECUTABLE) diff --git a/mm-audio/aenc-aac/qdsp6/Android.mk b/mm-audio/aenc-aac/qdsp6/Android.mk index 5aa1f407..a15197a6 100644 --- a/mm-audio/aenc-aac/qdsp6/Android.mk +++ b/mm-audio/aenc-aac/qdsp6/Android.mk @@ -54,6 +54,9 @@ ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DLKM)),true) LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/vendor/qcom/opensource/audio-kernel/include endif +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) # --------------------------------------------------------------------------------- @@ -77,6 +80,9 @@ LOCAL_SHARED_LIBRARIES += libOmxAacEnc LOCAL_VENDOR_MODULE := true LOCAL_SRC_FILES := test/omx_aac_enc_test.c +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_EXECUTABLE) endif diff --git a/mm-audio/aenc-amrnb/qdsp6/Android.mk b/mm-audio/aenc-amrnb/qdsp6/Android.mk index 7e0007f2..75b4214b 100644 --- a/mm-audio/aenc-amrnb/qdsp6/Android.mk +++ b/mm-audio/aenc-amrnb/qdsp6/Android.mk @@ -56,6 +56,9 @@ ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DLKM)),true) LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/vendor/qcom/opensource/audio-kernel/include endif +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) # --------------------------------------------------------------------------------- @@ -79,6 +82,9 @@ LOCAL_SHARED_LIBRARIES += libOmxAmrEnc LOCAL_VENDOR_MODULE := true LOCAL_SRC_FILES := test/omx_amr_enc_test.c +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_EXECUTABLE) endif diff --git a/mm-audio/aenc-evrc/qdsp6/Android.mk b/mm-audio/aenc-evrc/qdsp6/Android.mk index 346ef815..00f4927e 100644 --- a/mm-audio/aenc-evrc/qdsp6/Android.mk +++ b/mm-audio/aenc-evrc/qdsp6/Android.mk @@ -56,6 +56,9 @@ ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DLKM)),true) LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/vendor/qcom/opensource/audio-kernel/include endif +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) # --------------------------------------------------------------------------------- @@ -78,6 +81,9 @@ LOCAL_SHARED_LIBRARIES += libOmxEvrcEnc LOCAL_VENDOR_MODULE := true LOCAL_SRC_FILES := test/omx_evrc_enc_test.c +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_EXECUTABLE) endif diff --git a/mm-audio/aenc-g711/qdsp6/Android.mk b/mm-audio/aenc-g711/qdsp6/Android.mk index 8e4d9e71..21c3d2bd 100644 --- a/mm-audio/aenc-g711/qdsp6/Android.mk +++ b/mm-audio/aenc-g711/qdsp6/Android.mk @@ -58,6 +58,9 @@ ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DLKM)),true) endif +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) @@ -82,6 +85,9 @@ LOCAL_SHARED_LIBRARIES += libOmxG711Enc LOCAL_VENDOR_MODULE := true LOCAL_SRC_FILES := test/omx_g711_enc_test.c +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_EXECUTABLE) endif diff --git a/mm-audio/aenc-qcelp13/qdsp6/Android.mk b/mm-audio/aenc-qcelp13/qdsp6/Android.mk index 739ee825..1c844da9 100644 --- a/mm-audio/aenc-qcelp13/qdsp6/Android.mk +++ b/mm-audio/aenc-qcelp13/qdsp6/Android.mk @@ -57,6 +57,9 @@ ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DLKM)),true) endif +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) @@ -81,6 +84,9 @@ LOCAL_SHARED_LIBRARIES += libOmxQcelp13Enc LOCAL_VENDOR_MODULE := true LOCAL_SRC_FILES := test/omx_qcelp13_enc_test.c +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_EXECUTABLE) endif diff --git a/post_proc/Android.mk b/post_proc/Android.mk index 6b1afd3c..27c3037b 100644 --- a/post_proc/Android.mk +++ b/post_proc/Android.mk @@ -95,6 +95,9 @@ ifeq ($(TARGET_COMPILE_WITH_MSM_KERNEL),true) LOCAL_ADDITIONAL_DEPENDENCIES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr endif +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) @@ -136,6 +139,9 @@ endif LOCAL_MODULE:= libhwacceffectswrapper LOCAL_VENDOR_MODULE := true +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := unsigned-integer-overflow signed-integer-overflow +endif include $(BUILD_STATIC_LIBRARY) endif @@ -205,6 +211,9 @@ ifeq ($(TARGET_COMPILE_WITH_MSM_KERNEL),true) LOCAL_ADDITIONAL_DEPENDENCIES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr endif +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) endif @@ -238,6 +247,9 @@ LOCAL_C_INCLUDES := \ LOCAL_HEADER_LIBRARIES += libhardware_headers LOCAL_HEADER_LIBRARIES += libsystem_headers +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) endif diff --git a/qahw/Android.mk b/qahw/Android.mk index a64b9133..bd4ae538 100644 --- a/qahw/Android.mk +++ b/qahw/Android.mk @@ -30,6 +30,9 @@ LOCAL_COPY_HEADERS += inc/qahw_effect_api.h LOCAL_PRELINK_MODULE := false LOCAL_VENDOR_MODULE := true +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) include $(CLEAR_VARS) diff --git a/qahw_api/Android.mk b/qahw_api/Android.mk index 1cad75d5..253274a9 100644 --- a/qahw_api/Android.mk +++ b/qahw_api/Android.mk @@ -42,6 +42,9 @@ LOCAL_COPY_HEADERS += inc/qahw_effect_visualizer.h LOCAL_PRELINK_MODULE := false LOCAL_VENDOR_MODULE := true +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) #test app compilation diff --git a/qahw_api/test/Android.mk b/qahw_api/test/Android.mk index cca72f85..8f8253df 100644 --- a/qahw_api/test/Android.mk +++ b/qahw_api/test/Android.mk @@ -31,6 +31,9 @@ LOCAL_32_BIT_ONLY := true LOCAL_C_INCLUDES += $(hal-play-inc) LOCAL_VENDOR_MODULE := true +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_EXECUTABLE) # audio_hal_multi_record_test @@ -51,4 +54,7 @@ hal-rec-inc = $(TARGET_OUT_HEADERS)/mm-audio/qahw_api/inc LOCAL_C_INCLUDES += $(hal-rec-inc) LOCAL_VENDOR_MODULE := true +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_EXECUTABLE) diff --git a/visualizer/Android.mk b/visualizer/Android.mk index dca016fb..77eb085c 100644 --- a/visualizer/Android.mk +++ b/visualizer/Android.mk @@ -64,5 +64,8 @@ LOCAL_CFLAGS += -Wno-tautological-compare LOCAL_CFLAGS += -Wno-unused-function LOCAL_CFLAGS += -Wno-unused-local-typedef +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) endif diff --git a/voice_processing/Android.mk b/voice_processing/Android.mk index 56a3abd9..e448b6f7 100644 --- a/voice_processing/Android.mk +++ b/voice_processing/Android.mk @@ -50,5 +50,8 @@ LOCAL_CFLAGS += -Wno-tautological-compare LOCAL_CFLAGS += -Wno-unused-function LOCAL_CFLAGS += -Wno-unused-local-typedef +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) endif