From: Uros Bizjak Date: Tue, 2 Apr 2024 12:19:08 +0000 (+0200) Subject: x86/percpu: Re-enable named address spaces with sanitizers for GCC 13.3+ X-Git-Tag: v6.10-rc1~198^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9ebe5500d4b25ee4cde04eec59a6764361a60709;p=thirdparty%2Fkernel%2Flinux.git x86/percpu: Re-enable named address spaces with sanitizers for GCC 13.3+ Commit: b6540de9b5c8 ("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 Signed-off-by: Ingo Molnar Cc: Linus Torvalds Link: https://lore.kernel.org/r/20240402121926.78477-1-ubizjak@gmail.com --- diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index f1c020d216175..9332badb48ea0 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -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)