From 3b9cc859ff64a55cb6fbd247b1c2680d13716d91 Mon Sep 17 00:00:00 2001 From: Harshit Sharma Date: Mon, 6 Jul 2020 23:38:31 -0700 Subject: [PATCH] lib: Update ASan compiler flags and Kconfig help text An additional compiler flag is added to make use of the shadow offset callback feature we introduced in our GCC patch. Also, a comment is added to tell user that this GCC patch needs to be applied in order to use ASan. Change-Id: Ia187e4991bf808f4ae137eff0ffdb9baea0085e9 Signed-off-by: Harshit Sharma Reviewed-on: https://review.coreboot.org/c/coreboot/+/43164 Tested-by: build bot (Jenkins) Reviewed-by: Werner Zeh --- src/Kconfig | 5 +++++ src/lib/Makefile.inc | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Kconfig b/src/Kconfig index 1540c567e4..f8af522823 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -283,6 +283,11 @@ config ASAN_IN_RAMSTAGE If unsure, say N. +if ASAN_IN_RAMSTAGE + comment "Before using this feature, make sure that " + comment "asan_shadow_offset_callback patch is applied to GCC." +endif + choice prompt "Stage Cache for ACPI S3 resume" default NO_STAGE_CACHE if !HAVE_ACPI_RESUME diff --git a/src/lib/Makefile.inc b/src/lib/Makefile.inc index 0b4342764f..e33a44998c 100644 --- a/src/lib/Makefile.inc +++ b/src/lib/Makefile.inc @@ -9,7 +9,8 @@ endif ifeq ($(CONFIG_ASAN_IN_RAMSTAGE),y) ramstage-y += asan.c -CFLAGS_asan += -fsanitize=kernel-address \ +# Ensure that asan_shadow_offset_callback patch is applied to GCC before ASan is used. +CFLAGS_asan += -fsanitize=kernel-address --param asan-use-shadow-offset-callback=1 \ --param asan-stack=1 --param asan-globals=1 \ --param asan-instrumentation-with-call-threshold=0 \ -fsanitize-address-use-after-scope \