mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-06-21 15:43:21 +02:00
x86/module: Revert "Deal with GOT based stack cookie load on Clang < 17"
Now that the minimum supported version of LLVM for building the kernel
has been raised to 17.0.1, the workaround added by
78c4374ef8 ("x86/module: Deal with GOT based stack cookie load on Clang < 17")
will never be included, as the final clause in the preprocessor
conditional is always false. Revert the change to clean up the dead
code.
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://patch.msgid.link/20260517-bump-minimum-supported-llvm-version-to-17-v2-12-b3b8cda46bdd@kernel.org
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
This commit is contained in:
@@ -54,9 +54,8 @@ typedef struct user_i387_struct elf_fpregset_t;
|
||||
#define R_X86_64_GLOB_DAT 6 /* Create GOT entry */
|
||||
#define R_X86_64_JUMP_SLOT 7 /* Create PLT entry */
|
||||
#define R_X86_64_RELATIVE 8 /* Adjust by program base */
|
||||
#define R_X86_64_GOTPCREL 9 /* 32 bit signed pc relative offset to GOT */
|
||||
#define R_X86_64_GOTPCRELX 41
|
||||
#define R_X86_64_REX_GOTPCRELX 42
|
||||
#define R_X86_64_GOTPCREL 9 /* 32 bit signed pc relative
|
||||
offset to GOT */
|
||||
#define R_X86_64_32 10 /* Direct 32 bit zero extended */
|
||||
#define R_X86_64_32S 11 /* Direct 32 bit sign extended */
|
||||
#define R_X86_64_16 12 /* Direct 16 bit zero extended */
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#include <linux/jump_label.h>
|
||||
#include <linux/random.h>
|
||||
#include <linux/memory.h>
|
||||
#include <linux/stackprotector.h>
|
||||
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/page.h>
|
||||
@@ -132,20 +131,6 @@ static int __write_relocate_add(Elf64_Shdr *sechdrs,
|
||||
goto overflow;
|
||||
size = 4;
|
||||
break;
|
||||
#if defined(CONFIG_STACKPROTECTOR) && \
|
||||
defined(CONFIG_CC_IS_CLANG) && CONFIG_CLANG_VERSION < 170000
|
||||
case R_X86_64_REX_GOTPCRELX: {
|
||||
static unsigned long __percpu *const addr = &__stack_chk_guard;
|
||||
|
||||
if (sym->st_value != (u64)addr) {
|
||||
pr_err("%s: Unsupported GOTPCREL relocation\n", me->name);
|
||||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
val = (u64)&addr + rel[i].r_addend;
|
||||
fallthrough;
|
||||
}
|
||||
#endif
|
||||
case R_X86_64_PC32:
|
||||
case R_X86_64_PLT32:
|
||||
val -= (u64)loc;
|
||||
|
||||
Reference in New Issue
Block a user