From: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
To: x86@kernel.org
Cc: David Kaplan <david.kaplan@amd.com>,
linux-kernel@vger.kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
Josh Poimboeuf <jpoimboe@kernel.org>
Subject: [PATCH v3 7/7] x86/its: Allow stuffing in eIBRS+retpoline mode also
Date: Thu, 22 May 2025 18:22:04 -0700 [thread overview]
Message-ID: <20250522-eibrs-fix-v3-7-12704e291e1e@linux.intel.com> (raw)
In-Reply-To: <20250522-eibrs-fix-v3-0-12704e291e1e@linux.intel.com>
After a recent restructuring of ITS mitigation, RSB stuffing can no
longer be enabled in eIBRS+Retpoline mode. Before ITS, retbleed
mitigation only allowed stuffing when eIBRS was not enabled. This was
perfectly fine since eIBRS mitigates retbleed.
However, RSB stuffing mitigation for ITS is still needed with eIBRS. The
restructuring solely relies on retbleed to deploy stuffing, and does not
allow it when eIBRS is enabled. This behavior is different from what was
before the restructuring. Fix it by allowing stuffing in eIBRS+retpoline
mode also.
Fixes: 8c57ca583ebf ("x86/bugs: Restructure ITS mitigation")
Closes: https://lore.kernel.org/lkml/20250519235101.2vm6sc5txyoykb2r@desk/
Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
---
arch/x86/kernel/cpu/bugs.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c
index 3d56e258876234b802b6682050c46917a6cf7401..66c64dc2d14f5584b892286f060598595fd67ce0 100644
--- a/arch/x86/kernel/cpu/bugs.c
+++ b/arch/x86/kernel/cpu/bugs.c
@@ -1130,7 +1130,8 @@ static inline bool cdt_possible(enum spectre_v2_mitigation mode)
!IS_ENABLED(CONFIG_MITIGATION_RETPOLINE))
return false;
- if (mode == SPECTRE_V2_RETPOLINE)
+ if (mode == SPECTRE_V2_RETPOLINE ||
+ mode == SPECTRE_V2_EIBRS_RETPOLINE)
return true;
return false;
@@ -1285,7 +1286,7 @@ static void __init retbleed_update_mitigation(void)
if (retbleed_mitigation == RETBLEED_MITIGATION_STUFF &&
!cdt_possible(spectre_v2_enabled)) {
- pr_err("WARNING: retbleed=stuff depends on spectre_v2=retpoline\n");
+ pr_err("WARNING: retbleed=stuff depends on retpoline\n");
retbleed_mitigation = RETBLEED_MITIGATION_NONE;
}
@@ -1458,6 +1459,7 @@ static void __init its_update_mitigation(void)
its_mitigation = ITS_MITIGATION_OFF;
break;
case SPECTRE_V2_RETPOLINE:
+ case SPECTRE_V2_EIBRS_RETPOLINE:
/* Retpoline+CDT mitigates ITS */
if (retbleed_mitigation == RETBLEED_MITIGATION_STUFF)
its_mitigation = ITS_MITIGATION_RETPOLINE_STUFF;
--
2.34.1
prev parent reply other threads:[~2025-05-23 1:22 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-23 1:20 [PATCH v3 0/7] eIBRS fixes Pawan Gupta
2025-05-23 1:20 ` [PATCH v3 1/7] x86/retbleed: Avoid AUTO after the select step Pawan Gupta
2025-05-24 9:29 ` Borislav Petkov
2025-05-23 1:20 ` [PATCH v3 2/7] x86/retbleed: Simplify the =stuff checks Pawan Gupta
2025-05-24 11:16 ` Borislav Petkov
2025-05-23 1:21 ` [PATCH v3 3/7] x86/bugs: Exit early if return thunk is already set Pawan Gupta
2025-05-23 10:28 ` Nikolay Borisov
2025-05-24 11:27 ` Borislav Petkov
2025-05-28 21:55 ` Pawan Gupta
2025-05-23 1:21 ` [PATCH v3 4/7] x86/its: Use switch/case to apply mitigation Pawan Gupta
2025-05-23 1:21 ` [PATCH v3 5/7] x86/retbleed: Introduce cdt_possible() Pawan Gupta
2025-05-23 1:21 ` [PATCH v3 6/7] x86/its: Remove =stuff dependency on retbleed Pawan Gupta
2025-05-23 1:22 ` Pawan Gupta [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250522-eibrs-fix-v3-7-12704e291e1e@linux.intel.com \
--to=pawan.kumar.gupta@linux.intel.com \
--cc=david.kaplan@amd.com \
--cc=hpa@zytor.com \
--cc=jpoimboe@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.