Revert "kasan: Disable Software Tag-Based KASAN with GCC"

This reverts commit 7aed6a2c51.

Now that __no_sanitize_address attribute is fixed for KASAN_SW_TAGS with
GCC, allow re-enabling KASAN_SW_TAGS with GCC.

Cc: Andrey Konovalov <andreyknvl@gmail.com>
Cc: Andrew Pinski <pinskia@gmail.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Marco Elver <elver@google.com>
Reviewed-by: Andrey Konovalov <andreyknvl@gmail.com>
Link: https://lore.kernel.org/r/20241021120013.3209481-2-elver@google.com
Signed-off-by: Will Deacon <will@kernel.org>
This commit is contained in:
Marco Elver 2024-10-21 14:00:11 +02:00 committed by Will Deacon
parent 894b00a335
commit 237ab03e30

View File

@ -22,11 +22,8 @@ config ARCH_DISABLE_KASAN_INLINE
config CC_HAS_KASAN_GENERIC config CC_HAS_KASAN_GENERIC
def_bool $(cc-option, -fsanitize=kernel-address) def_bool $(cc-option, -fsanitize=kernel-address)
# GCC appears to ignore no_sanitize_address when -fsanitize=kernel-hwaddress
# is passed. See https://bugzilla.kernel.org/show_bug.cgi?id=218854 (and
# the linked LKML thread) for more details.
config CC_HAS_KASAN_SW_TAGS config CC_HAS_KASAN_SW_TAGS
def_bool !CC_IS_GCC && $(cc-option, -fsanitize=kernel-hwaddress) def_bool $(cc-option, -fsanitize=kernel-hwaddress)
# This option is only required for software KASAN modes. # This option is only required for software KASAN modes.
# Old GCC versions do not have proper support for no_sanitize_address. # Old GCC versions do not have proper support for no_sanitize_address.
@ -101,7 +98,7 @@ config KASAN_SW_TAGS
help help
Enables Software Tag-Based KASAN. Enables Software Tag-Based KASAN.
Requires Clang. Requires GCC 11+ or Clang.
Supported only on arm64 CPUs and relies on Top Byte Ignore. Supported only on arm64 CPUs and relies on Top Byte Ignore.