From 6ff1c956cd0bb1e49063fc1a8086bf2da66f1d3b Mon Sep 17 00:00:00 2001 From: Vikram Panduranga Date: Wed, 7 Aug 2019 13:33:01 -0700 Subject: [PATCH] hal: Enable integer overflow sanitizer Enable integer overflow sanitizer in audio HAL for kona. Change-Id: I6aba4c636f2d467518281361259b1a7768ae34d7 --- audiod/Android.mk | 3 ++ hal/Android.mk | 3 ++ hal/audio_extn/Android.mk | 45 ++++++++++++++++++++++++++ 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, 114 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 959b01a3..28eeea89 100644 --- a/hal/Android.mk +++ b/hal/Android.mk @@ -373,6 +373,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 35080152..623d48b4 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) #------------------------------------------- @@ -170,6 +176,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) endif #-------------------------------------------- @@ -229,6 +238,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) #-------------------------------------------- @@ -284,6 +296,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 @@ -339,6 +354,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) #------------------------------------------- @@ -397,6 +415,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) #------------------------------------------- @@ -458,6 +479,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) #------------------------------------------- @@ -521,6 +545,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) #------------------------------------------- @@ -583,6 +610,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) #------------------------------------------- @@ -653,6 +683,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) #------------------------------------------- @@ -712,6 +745,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) #------------------------------------------- @@ -770,6 +806,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 @@ -827,6 +866,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) #------------------------------------------- @@ -885,4 +927,7 @@ 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 76a42b19..ded37f2a 100644 --- a/post_proc/Android.mk +++ b/post_proc/Android.mk @@ -94,6 +94,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) @@ -135,6 +138,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 @@ -204,6 +210,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 @@ -237,6 +246,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 84645b88..4392e94e 100644 --- a/qahw/Android.mk +++ b/qahw/Android.mk @@ -34,6 +34,9 @@ LOCAL_COPY_HEADERS += inc/qahw_effect_api.h LOCAL_PROPRIETARY_MODULE := true LOCAL_VENDOR_MODULE := true +ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),) +LOCAL_SANITIZE := integer_overflow +endif include $(BUILD_SHARED_LIBRARY) endif diff --git a/qahw_api/Android.mk b/qahw_api/Android.mk index a873a7d0..e29340bc 100644 --- a/qahw_api/Android.mk +++ b/qahw_api/Android.mk @@ -43,6 +43,9 @@ LOCAL_COPY_HEADERS += inc/qahw_effect_visualizer.h 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