* [PATCH v2 00/12] Bump minimum supported version of LLVM for building the kernel to 15.0.0
@ 2025-08-21 21:15 Nathan Chancellor
2025-08-21 21:15 ` [PATCH v2 02/12] arch/Kconfig: Drop always true condition from RANDOMIZE_KSTACK_OFFSET Nathan Chancellor
2025-08-29 22:33 ` [PATCH v2 00/12] Bump minimum supported version of LLVM for building the kernel to 15.0.0 Nathan Chancellor
0 siblings, 2 replies; 3+ messages in thread
From: Nathan Chancellor @ 2025-08-21 21:15 UTC (permalink / raw)
To: linux-kernel
Cc: Arnd Bergmann, Kees Cook, Nick Desaulniers, Bill Wendling,
Justin Stitt, llvm, patches, Nicolas Schier, Nathan Chancellor,
linux-kbuild, linux-hardening, Russell King, Ard Biesheuvel,
linux-arm-kernel, Will Deacon, Thomas Bogendoerfer, linux-mips,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy, linuxppc-dev, Palmer Dabbelt, Alexandre Ghiti,
linux-riscv, Marco Elver, Peter Zijlstra (Intel), kasan-dev
s390 and x86 have required LLVM 15 since
30d17fac6aae ("scripts/min-tool-version.sh: raise minimum clang version to 15.0.0 for s390")
7861640aac52 ("x86/build: Raise the minimum LLVM version to 15.0.0")
respectively. This series bumps the rest of the kernel to 15.0.0 to
match, which allows for a decent number of clean ups.
On the distros front, we will only leave behind Debian Bookworm and
Ubuntu Jammy. In both of those cases, builders / developers can either
use the kernel.org toolchains or https://apt.llvm.org to get newer
versions that will run on those distributions, if they cannot upgrade.
archlinux:latest clang version 20.1.8
debian:oldoldstable-slim Debian clang version 11.0.1-2
debian:oldstable-slim Debian clang version 14.0.6
debian:stable-slim Debian clang version 19.1.7 (3+b1)
debian:testing-slim Debian clang version 19.1.7 (3+b1)
debian:unstable-slim Debian clang version 19.1.7 (3+b2)
fedora:41 clang version 19.1.7 (Fedora 19.1.7-4.fc41)
fedora:latest clang version 20.1.8 (Fedora 20.1.8-3.fc42)
fedora:rawhide clang version 20.1.8 (Fedora 20.1.8-3.fc43)
opensuse/leap:latest clang version 17.0.6
opensuse/tumbleweed:latest clang version 20.1.8
ubuntu:focal clang version 10.0.0-4ubuntu1
ubuntu:jammy Ubuntu clang version 14.0.0-1ubuntu1.1
ubuntu:noble Ubuntu clang version 18.1.3 (1ubuntu1)
ubuntu:latest Ubuntu clang version 18.1.3 (1ubuntu1)
ubuntu:rolling Ubuntu clang version 20.1.2 (0ubuntu1)
ubuntu:devel Ubuntu clang version 20.1.8 (0ubuntu1)
I plan to carry this via the Kbuild tree with the appropriate acks.
---
Changes in v2:
- Add two new patches for RISC-V to clean up more LLD_VERSION checks
(Alex)
- Pick up provided tags (thanks all!)
- Link to v1: https://lore.kernel.org/r/20250818-bump-min-llvm-ver-15-v1-0-c8b1d0f955e0@kernel.org
---
Nathan Chancellor (12):
kbuild: Bump minimum version of LLVM for building the kernel to 15.0.0
arch/Kconfig: Drop always true condition from RANDOMIZE_KSTACK_OFFSET
ARM: Clean up definition of ARM_HAS_GROUP_RELOCS
arm64: Remove tautological LLVM Kconfig conditions
mips: Unconditionally select ARCH_HAS_CURRENT_STACK_POINTER
powerpc: Drop unnecessary initializations in __copy_inst_from_kernel_nofault()
riscv: Remove version check for LTO_CLANG selects
riscv: Unconditionally use linker relaxation
riscv: Remove ld.lld version checks from many TOOLCHAIN_HAS configs
lib/Kconfig.debug: Drop CLANG_VERSION check from DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT
objtool: Drop noinstr hack for KCSAN_WEAK_MEMORY
KMSAN: Remove tautological checks
Documentation/process/changes.rst | 2 +-
arch/Kconfig | 1 -
arch/arm/Kconfig | 11 ++++-------
arch/arm64/Kconfig | 5 +----
arch/mips/Kconfig | 2 +-
arch/powerpc/include/asm/inst.h | 4 ----
arch/riscv/Kconfig | 21 +++++++--------------
arch/riscv/Makefile | 9 +--------
lib/Kconfig.debug | 2 +-
lib/Kconfig.kcsan | 6 ------
lib/Kconfig.kmsan | 11 +----------
scripts/min-tool-version.sh | 6 ++----
tools/objtool/check.c | 10 ----------
13 files changed, 19 insertions(+), 71 deletions(-)
---
base-commit: 8f5ae30d69d7543eee0d70083daf4de8fe15d585
change-id: 20250710-bump-min-llvm-ver-15-95231f1eb655
Best regards,
--
Nathan Chancellor <nathan@kernel.org>
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v2 02/12] arch/Kconfig: Drop always true condition from RANDOMIZE_KSTACK_OFFSET
2025-08-21 21:15 [PATCH v2 00/12] Bump minimum supported version of LLVM for building the kernel to 15.0.0 Nathan Chancellor
@ 2025-08-21 21:15 ` Nathan Chancellor
2025-08-29 22:33 ` [PATCH v2 00/12] Bump minimum supported version of LLVM for building the kernel to 15.0.0 Nathan Chancellor
1 sibling, 0 replies; 3+ messages in thread
From: Nathan Chancellor @ 2025-08-21 21:15 UTC (permalink / raw)
To: linux-kernel
Cc: Arnd Bergmann, Kees Cook, Nick Desaulniers, Bill Wendling,
Justin Stitt, llvm, patches, Nathan Chancellor, linux-hardening
Now that the minimum supported version of LLVM for building the kernel
has been bumped to 15.0.0, the second depends line in
RANDOMIZE_KSTACK_OFFSET is always true, so it can be removed.
Reviewed-by: Kees Cook <kees@kernel.org>
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
---
Cc: linux-hardening@vger.kernel.org
---
arch/Kconfig | 1 -
1 file changed, 1 deletion(-)
diff --git a/arch/Kconfig b/arch/Kconfig
index d1b4ffd6e085..4935c4c26f09 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -1475,7 +1475,6 @@ config RANDOMIZE_KSTACK_OFFSET
bool "Support for randomizing kernel stack offset on syscall entry" if EXPERT
default y
depends on HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET
- depends on INIT_STACK_NONE || !CC_IS_CLANG || CLANG_VERSION >= 140000
help
The kernel stack offset can be randomized (after pt_regs) by
roughly 5 bits of entropy, frustrating memory corruption
--
2.50.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2 00/12] Bump minimum supported version of LLVM for building the kernel to 15.0.0
2025-08-21 21:15 [PATCH v2 00/12] Bump minimum supported version of LLVM for building the kernel to 15.0.0 Nathan Chancellor
2025-08-21 21:15 ` [PATCH v2 02/12] arch/Kconfig: Drop always true condition from RANDOMIZE_KSTACK_OFFSET Nathan Chancellor
@ 2025-08-29 22:33 ` Nathan Chancellor
1 sibling, 0 replies; 3+ messages in thread
From: Nathan Chancellor @ 2025-08-29 22:33 UTC (permalink / raw)
To: linux-kernel, Nathan Chancellor
Cc: Arnd Bergmann, Kees Cook, Nick Desaulniers, Bill Wendling,
Justin Stitt, llvm, patches, Nicolas Schier, linux-kbuild,
linux-hardening, Russell King, Ard Biesheuvel, linux-arm-kernel,
Will Deacon, Thomas Bogendoerfer, linux-mips, Madhavan Srinivasan,
Michael Ellerman, Nicholas Piggin, Christophe Leroy, linuxppc-dev,
Palmer Dabbelt, Alexandre Ghiti, linux-riscv, Marco Elver,
Peter Zijlstra (Intel), kasan-dev
On Thu, 21 Aug 2025 14:15:37 -0700, Nathan Chancellor wrote:
> s390 and x86 have required LLVM 15 since
>
> 30d17fac6aae ("scripts/min-tool-version.sh: raise minimum clang version to 15.0.0 for s390")
> 7861640aac52 ("x86/build: Raise the minimum LLVM version to 15.0.0")
>
> respectively. This series bumps the rest of the kernel to 15.0.0 to
> match, which allows for a decent number of clean ups.
>
> [...]
Applied, thanks!
[01/12] kbuild: Bump minimum version of LLVM for building the kernel to 15.0.0
https://git.kernel.org/kbuild/c/20c0989283564
[02/12] arch/Kconfig: Drop always true condition from RANDOMIZE_KSTACK_OFFSET
https://git.kernel.org/kbuild/c/65aebf6f5880e
[03/12] ARM: Clean up definition of ARM_HAS_GROUP_RELOCS
https://git.kernel.org/kbuild/c/02aba266e391f
[04/12] arm64: Remove tautological LLVM Kconfig conditions
https://git.kernel.org/kbuild/c/23cb0514208da
[05/12] mips: Unconditionally select ARCH_HAS_CURRENT_STACK_POINTER
https://git.kernel.org/kbuild/c/e633c2e78fd1c
[06/12] powerpc: Drop unnecessary initializations in __copy_inst_from_kernel_nofault()
https://git.kernel.org/kbuild/c/488954ca195d0
[07/12] riscv: Remove version check for LTO_CLANG selects
https://git.kernel.org/kbuild/c/6578a1ff6aa49
[08/12] riscv: Unconditionally use linker relaxation
https://git.kernel.org/kbuild/c/7ccbe91796d7b
[09/12] riscv: Remove ld.lld version checks from many TOOLCHAIN_HAS configs
https://git.kernel.org/kbuild/c/87b28d71396bf
[10/12] lib/Kconfig.debug: Drop CLANG_VERSION check from DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT
https://git.kernel.org/kbuild/c/a817de20091c3
[11/12] objtool: Drop noinstr hack for KCSAN_WEAK_MEMORY
https://git.kernel.org/kbuild/c/573ad421cc551
[12/12] KMSAN: Remove tautological checks
https://git.kernel.org/kbuild/c/5ff8c11775c74
Best regards,
--
Nathan Chancellor <nathan@kernel.org>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-08-29 22:33 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-21 21:15 [PATCH v2 00/12] Bump minimum supported version of LLVM for building the kernel to 15.0.0 Nathan Chancellor
2025-08-21 21:15 ` [PATCH v2 02/12] arch/Kconfig: Drop always true condition from RANDOMIZE_KSTACK_OFFSET Nathan Chancellor
2025-08-29 22:33 ` [PATCH v2 00/12] Bump minimum supported version of LLVM for building the kernel to 15.0.0 Nathan Chancellor
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).