From nobody Fri Oct 23 15:53:27 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4jB6xm544Zz6xCCP for ; Fri, 23 Oct 2026 15:53:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4jB6xm4Kmwz4k7q for ; Fri, 23 Oct 2026 15:53:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1792770812; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GMCcYxyL4pE7qD5lViroGDBA6Ip3vLqSw3rUYy1MfkI=; b=r7kIow3CB7ELbQb+ZpPI6/JB8OniB+WesXUdtxzk1k6PSX/VlLbfkIqxUw1uhON2Hzftxy +4cGCHViCFQiim2ANpelrJrrMxcekWTzy6vNVKHgHveMSnx2uxsonuyby1a20f6fgkZp3G eWnCGTLYBjtZpceQSr7fywEGwxpBJS+07X3nXb7xAb7cWRTuz8fC6FYnE8ox10bRsWazc0 PyBRT7v0uAqldIdHXuIP9hCEtVe8pJ0X6vZyPBQuAEF3yiN4cRT7ogGwlgkojt1KipPoMS oL9UyQFh3NBpLczBmr6DMEzyXcLh5oqKwpn+ESqbE8z1GOz5WvdfIfvo82stmg== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1792770812; b=h9rRFegZtEprMt6l6EWB/1CbRopBem4K0cNIjX/8x8P9/nZ//dYt1Lmze4j35DDNsCDCnl jZhNIFXXEgZaypDLEaK+I6APhPCfKjn34yoJAxbaH9H+H7mrdvel13HP3lwvUQ6TUsOHoP +a2oPYRJTe09N2fqxUyjAPGr2xsCJXgW7XNhVYDhqi14YjkTUeCxMYypf+4/rTV7l7Pg1d 6Thz/PghsbD6aIbXIJRjPbydtYLUNdcX0wt8DMr9zzjGB9b62FNHH1qz7RyS21a59iLkVY KWvPiG57sHZsJFsmaUYzkMar7D4DQ0ey0ozQth9prqU2s6jZgvef38gjW2X4GA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1792770812; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GMCcYxyL4pE7qD5lViroGDBA6Ip3vLqSw3rUYy1MfkI=; b=rwZf4bSZza1scMD7x54SuldgDuGY4avizAhFwCuyEh5tPtaG75KPxdS+KzMvWqMS4ox2xw WtmfPRm77Nc1zO1jML+F9ILlt4BmrO0Q+0HHRUXE8xcVExlhfxC5f1/walHmNLxgim119v HqjMYQ9/+M4nl3d8e0QQjWkyj8XD11x16H3d5CUwSjdRSNejfPbHn97CdxyFMkItnLJRLq F9JHEMnf7GYQvPMmN2U0uDK9GAiFIVoq4CFP4L89OzUYTNSda415XKqmDXbgf+HeTWNfM4 Q/NwUNYDkC1C2AG2EhvB8Ct/aM7rIQ75XYwPrdWEuPkTqQt0Siu3nqboVM9CSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4jB6xm40yLzcmJ for ; Fri, 23 Oct 2026 15:53:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37c80 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 23 Oct 2026 15:53:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: bea44a836317 - main - kernel: Use external retpoline thunks List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: Commit messages for all branches of the src repository List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bea44a83631704110de8bbd7693b683c81d4fe55 Auto-Submitted: auto-generated Date: Fri, 23 Oct 2026 15:53:27 +0000 Message-Id: <6adb82f7.37c80.4c72d8ef@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=bea44a83631704110de8bbd7693b683c81d4fe55 commit bea44a83631704110de8bbd7693b683c81d4fe55 Author: Ed Maste AuthorDate: 2018-03-16 02:29:38 +0000 Commit: Ed Maste CommitDate: 2026-10-23 15:53:05 +0000 kernel: Use external retpoline thunks External retpoline thunks for amd64 and i386 were added in commit 74d971fe1561 ("x86: Add external retpoline thunk"). Use them when WITH_KERNEL_RETPOLINE is set. There should not be any material performance impact -- the call sites are identical, and this just replaces (on amd64) compiler-generated __llvm_retpoline_r11 functions in each object with our __x86_indirect_thunk_r11. After this change we could implement boot-time patching, replacing __x86_indirect_thunk_r11 with just jmp %r11 when retpoline is not required. Note on i386: An i386 build WITH_KERNEL_RETPOLINE was successful, but has not been extensively tested. Clang may use registers other than just eax on i386 and so in the future additional thunks beyond the one added in 74d971fe1561 could be required for i386. Patches are welcome if this is important to you. Reviewed by: kib Sponsored by: The FreeBSD Foundation --- sys/conf/kern.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/conf/kern.mk b/sys/conf/kern.mk index 83881cc05b94..35b7a66bab49 100644 --- a/sys/conf/kern.mk +++ b/sys/conf/kern.mk @@ -246,7 +246,7 @@ CFLAGS+= -fstack-protector-strong # .if defined(COMPILER_FEATURES) && ${COMPILER_FEATURES:Mretpoline} != "" && \ ${MK_KERNEL_RETPOLINE} != "no" -CFLAGS+= -mretpoline +CFLAGS+= -mretpoline-external-thunk .endif #