diff --git a/patches.kernel.org/6.2.1-011-randstruct-disable-Clang-15-support.patch b/patches.kernel.org/6.2.1-011-randstruct-disable-Clang-15-support.patch new file mode 100644 index 0000000..dcdf451 --- /dev/null +++ b/patches.kernel.org/6.2.1-011-randstruct-disable-Clang-15-support.patch @@ -0,0 +1,46 @@ +From: Eric Biggers +Date: Tue, 7 Feb 2023 22:51:33 -0800 +Subject: [PATCH] randstruct: disable Clang 15 support +References: bsc#1012628 +Patch-mainline: 6.2.1 +Git-commit: 78f7a3fd6dc66cb788c21d7705977ed13c879351 + +commit 78f7a3fd6dc66cb788c21d7705977ed13c879351 upstream. + +The randstruct support released in Clang 15 is unsafe to use due to a +bug that can cause miscompilations: "-frandomize-layout-seed +inconsistently randomizes all-function-pointers structs" +(https://github.com/llvm/llvm-project/issues/60349). It has been fixed +on the Clang 16 release branch, so add a Clang version check. + +Fixes: 035f7f87b729 ("randstruct: Enable Clang support") +Cc: stable@vger.kernel.org +Signed-off-by: Eric Biggers +Acked-by: Nick Desaulniers +Reviewed-by: Nathan Chancellor +Reviewed-by: Bill Wendling +Signed-off-by: Kees Cook +Link: https://lore.kernel.org/r/20230208065133.220589-1-ebiggers@kernel.org +Signed-off-by: Greg Kroah-Hartman +Signed-off-by: Jiri Slaby +--- + security/Kconfig.hardening | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/security/Kconfig.hardening b/security/Kconfig.hardening +index 53baa95c..0f295961 100644 +--- a/security/Kconfig.hardening ++++ b/security/Kconfig.hardening +@@ -281,6 +281,9 @@ endmenu + + config CC_HAS_RANDSTRUCT + def_bool $(cc-option,-frandomize-layout-seed-file=/dev/null) ++ # Randstruct was first added in Clang 15, but it isn't safe to use until ++ # Clang 16 due to https://github.com/llvm/llvm-project/issues/60349 ++ depends on !CC_IS_CLANG || CLANG_VERSION >= 160000 + + choice + prompt "Randomize layout of sensitive kernel structures" +-- +2.35.3 + diff --git a/series.conf b/series.conf index 78a296d..d5ef633 100644 --- a/series.conf +++ b/series.conf @@ -37,6 +37,7 @@ patches.kernel.org/6.2.1-008-platform-x86-amd-pmf-Add-depends-on-CONFIG_POWE.patch patches.kernel.org/6.2.1-009-platform-x86-nvidia-wmi-ec-backlight-Add-force-.patch patches.kernel.org/6.2.1-010-ext4-Fix-function-prototype-mismatch-for-ext4_f.patch + patches.kernel.org/6.2.1-011-randstruct-disable-Clang-15-support.patch ######################################################## # Build fixes that apply to the vanilla kernel too.