x86/percpu: Re-enable named address spaces with sanitizers for GCC 13.3+

Commit:

  b6540de9b5 ("x86/percpu: Disable named address spaces for KASAN")

... disabled support for named address spaces with KCSAN due to
the incompatibility issue between named AS and KCSAN.

GCC 13.3 has fixed this issue (GCC PR sanitizer/111736) so the
support for named address spaces can be re-enabled with sanitizers
for GCC compiler version >= 13.3.

[ Note that the patch considers GCC 14 to be fixed - if somebody is
  using snapshots of the GCC 14 before the fix, they should upgrade. ]

Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/20240402121926.78477-1-ubizjak@gmail.com
This commit is contained in:
Uros Bizjak 2024-04-02 14:19:08 +02:00 committed by Ingo Molnar
parent a55c1fdad5
commit 9ebe5500d4

View File

@ -2431,19 +2431,18 @@ endmenu
config CC_HAS_NAMED_AS
def_bool CC_IS_GCC && GCC_VERSION >= 90100
config CC_HAS_NAMED_AS_FIXED_ASAN
config CC_HAS_NAMED_AS_FIXED_SANITIZERS
def_bool CC_IS_GCC && GCC_VERSION >= 130300
config USE_X86_SEG_SUPPORT
def_bool y
depends on CC_HAS_NAMED_AS
#
# -fsanitize=kernel-address (KASAN) is incompatible with named
# address spaces with GCC < 13.3 - see GCC PR sanitizer/111736.
# -fsanitize=kernel-address (KASAN) and -fsanitize=thread
# (KCSAN) are incompatible with named address spaces with
# GCC < 13.3 - see GCC PR sanitizer/111736.
#
depends on !KASAN || CC_HAS_NAMED_AS_FIXED_ASAN
# -fsanitize=thread (KCSAN) is also incompatible.
depends on !KCSAN
depends on !(KASAN || KCSAN) || CC_HAS_NAMED_AS_FIXED_SANITIZERS
config CC_HAS_SLS
def_bool $(cc-option,-mharden-sls=all)