From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EE6AF1F3B85; Sun, 17 May 2026 23:06:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779059162; cv=none; b=TvVknwMfFUknSiPvICn2s6QLwV5jXmTSQY0QEmxlRdQFqc9NU6mqgRaXvEPIg7FzcMMfpE15oHGuvAjMbKke4aWPjsiRJkUtC6uvoPWGQPQWD50XVcwpPmn20PjjV3+NKzkaqIKSgCWUpuLQZzpjRiRo0n2FyKGsb5HNzqitcy8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779059162; c=relaxed/simple; bh=qaPe+n1570ptkZy6Z7TErnkN2YpYM3CP2ZLschhWI9E=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OeurFUjQQoDTehsbZanad+04fUGwOhIQK+MB2xafafKFj5M09mSv8liaMg+bZrTPTgArdaE3hH6GOLItnMRnGDGyzI6cnGEIxvbn1RKyJxF+QNLMEXnb0B5DCZFq+PDdJPAUuH71tHokZhNXVrHz74inYWtHSOaA+qjCiUDqED4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=YF2HwLEZ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="YF2HwLEZ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DED65C2BCF6; Sun, 17 May 2026 23:05:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1779059161; bh=qaPe+n1570ptkZy6Z7TErnkN2YpYM3CP2ZLschhWI9E=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=YF2HwLEZTfGphgqokCSzNJr5NsdnnWCOG2hfd0VMJt+//JSwHCg8DLLPhDTgpVTsl VCC41ISJhPBTy/9Ma0nxDjul9ui5n+CTWxn1zLpmrHXN2qjRNE6mn8eU8z+7RB1bFE WG8xArTamV1m80wLvMaWFHJ9y3m89p3RNStKwxWomQxmgFKHU5qsKxjTTeMeO9vPc6 nufzWhY+s89eTxVFBgkReq+76AOhEu4LXXOusGlYF7f8mkvJ1cRbujBXRBuw32MEXH e5oj/1CTw+eH6Y+DUMKjUrQFYGWrYRpTMVmq4vXQY9w4puU26RZXZLXun7VpIlHqvT LgvopnJECJFAA== From: Nathan Chancellor Date: Sun, 17 May 2026 13:05:15 -1000 Subject: [PATCH v2 12/16] x86/module: Revert "Deal with GOT based stack cookie load on Clang < 17" Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260517-bump-minimum-supported-llvm-version-to-17-v2-12-b3b8cda46bdd@kernel.org> References: <20260517-bump-minimum-supported-llvm-version-to-17-v2-0-b3b8cda46bdd@kernel.org> In-Reply-To: <20260517-bump-minimum-supported-llvm-version-to-17-v2-0-b3b8cda46bdd@kernel.org> To: Nathan Chancellor , Nicolas Schier , Bill Wendling , Justin Stitt , Nick Desaulniers Cc: linux-kernel@vger.kernel.org, llvm@lists.linux.dev, linux-kbuild@vger.kernel.org, Ard Biesheuvel , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , Peter Zijlstra , x86@kernel.org, "H. Peter Anvin" X-Mailer: b4 0.16-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=2697; i=nathan@kernel.org; h=from:subject:message-id; bh=qaPe+n1570ptkZy6Z7TErnkN2YpYM3CP2ZLschhWI9E=; b=owGbwMvMwCUmm602sfCA1DTG02pJDFlcnptKbXfNas6/3aU77Wjlr2vpATfydxSr1L/X2vj1w oT+6QvKO0pZGMS4GGTFFFmqH6seNzScc5bxxqlJMHNYmUCGMHBxCsBEfgUyMhy8WpuZUMB8127G SoNNqS2lmgll264eMV77MlSWpfTx/IsM/11Xz48MmdDvK3O1L9jTqNql3Pmf4cTWJX6/siWcb/Y 2sAMA X-Developer-Key: i=nathan@kernel.org; a=openpgp; fpr=2437CB76E544CB6AB3D9DFD399739260CB6CB716 Now that the minimum supported version of LLVM for building the kernel has been raised to 17.0.1, the workaround added by 78c4374ef8b8 ("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 Signed-off-by: Nathan Chancellor --- Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Borislav Petkov Cc: Dave Hansen Cc: Peter Zijlstra Cc: x86@kernel.org Cc: H. Peter Anvin --- arch/x86/include/asm/elf.h | 5 ++--- arch/x86/kernel/module.c | 15 --------------- 2 files changed, 2 insertions(+), 18 deletions(-) diff --git a/arch/x86/include/asm/elf.h b/arch/x86/include/asm/elf.h index c7f98977663c..0de9df759c99 100644 --- a/arch/x86/include/asm/elf.h +++ b/arch/x86/include/asm/elf.h @@ -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 */ diff --git a/arch/x86/kernel/module.c b/arch/x86/kernel/module.c index 11c45ce42694..b5b4de4f08e6 100644 --- a/arch/x86/kernel/module.c +++ b/arch/x86/kernel/module.c @@ -19,7 +19,6 @@ #include #include #include -#include #include #include @@ -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; -- 2.54.0