From: "tip-bot2 for Mikhail Paulyshka" <tip-bot2@linutronix.de>
To: linux-tip-commits@vger.kernel.org
Cc: Mikhail Paulyshka <me@mixaill.net>,
"Borislav Petkov (AMD)" <bp@alien8.de>, <stable@kernel.org>,
x86@kernel.org, linux-kernel@vger.kernel.org
Subject: [tip: x86/urgent] x86/rdrand: Disable RDSEED on AMD Cyan Skillfish
Date: Tue, 08 Jul 2025 19:50:24 -0000 [thread overview]
Message-ID: <175200422447.406.16824702825580478461.tip-bot2@tip-bot2> (raw)
In-Reply-To: <20250524145319.209075-1-me@mixaill.net>
The following commit has been merged into the x86/urgent branch of tip:
Commit-ID: 5b937a1ed64ebeba8876e398110a5790ad77407c
Gitweb: https://git.kernel.org/tip/5b937a1ed64ebeba8876e398110a5790ad77407c
Author: Mikhail Paulyshka <me@mixaill.net>
AuthorDate: Sat, 24 May 2025 17:53:19 +03:00
Committer: Borislav Petkov (AMD) <bp@alien8.de>
CommitterDate: Tue, 08 Jul 2025 21:33:26 +02:00
x86/rdrand: Disable RDSEED on AMD Cyan Skillfish
AMD Cyan Skillfish (Family 17h, Model 47h, Stepping 0h) has an error that
causes RDSEED to always return 0xffffffff, while RDRAND works correctly.
Mask the RDSEED cap for this CPU so that both /proc/cpuinfo and direct CPUID
read report RDSEED as unavailable.
[ bp: Move to amd.c, massage. ]
Signed-off-by: Mikhail Paulyshka <me@mixaill.net>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Cc: <stable@kernel.org>
Link: https://lore.kernel.org/20250524145319.209075-1-me@mixaill.net
---
arch/x86/include/asm/msr-index.h | 1 +
arch/x86/kernel/cpu/amd.c | 7 +++++++
tools/arch/x86/include/asm/msr-index.h | 1 +
3 files changed, 9 insertions(+)
diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h
index b7dded3..5cfb5d7 100644
--- a/arch/x86/include/asm/msr-index.h
+++ b/arch/x86/include/asm/msr-index.h
@@ -628,6 +628,7 @@
#define MSR_AMD64_OSVW_STATUS 0xc0010141
#define MSR_AMD_PPIN_CTL 0xc00102f0
#define MSR_AMD_PPIN 0xc00102f1
+#define MSR_AMD64_CPUID_FN_7 0xc0011002
#define MSR_AMD64_CPUID_FN_1 0xc0011004
#define MSR_AMD64_LS_CFG 0xc0011020
#define MSR_AMD64_DC_CFG 0xc0011022
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
index 655f44f..e1c4661 100644
--- a/arch/x86/kernel/cpu/amd.c
+++ b/arch/x86/kernel/cpu/amd.c
@@ -930,6 +930,13 @@ static void init_amd_zen2(struct cpuinfo_x86 *c)
init_spectral_chicken(c);
fix_erratum_1386(c);
zen2_zenbleed_check(c);
+
+ /* Disable RDSEED on AMD Cyan Skillfish because of an error. */
+ if (c->x86_model == 0x47 && c->x86_stepping == 0x0) {
+ clear_cpu_cap(c, X86_FEATURE_RDSEED);
+ msr_clear_bit(MSR_AMD64_CPUID_FN_7, 18);
+ pr_emerg("RDSEED is not reliable on this platform; disabling.\n");
+ }
}
static void init_amd_zen3(struct cpuinfo_x86 *c)
diff --git a/tools/arch/x86/include/asm/msr-index.h b/tools/arch/x86/include/asm/msr-index.h
index b7dded3..5cfb5d7 100644
--- a/tools/arch/x86/include/asm/msr-index.h
+++ b/tools/arch/x86/include/asm/msr-index.h
@@ -628,6 +628,7 @@
#define MSR_AMD64_OSVW_STATUS 0xc0010141
#define MSR_AMD_PPIN_CTL 0xc00102f0
#define MSR_AMD_PPIN 0xc00102f1
+#define MSR_AMD64_CPUID_FN_7 0xc0011002
#define MSR_AMD64_CPUID_FN_1 0xc0011004
#define MSR_AMD64_LS_CFG 0xc0011020
#define MSR_AMD64_DC_CFG 0xc0011022
prev parent reply other threads:[~2025-07-08 19:50 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-24 14:53 [PATCH v2 1/1] x86/rdrand: disable " Mikhail Paulyshka
2025-05-24 16:11 ` Borislav Petkov
2025-06-17 20:05 ` Borislav Petkov
2025-06-17 20:21 ` Dave Hansen
2025-07-07 10:17 ` Mikhail Paulyshka
2025-07-07 15:25 ` Borislav Petkov
2025-07-07 15:34 ` Dave Hansen
2025-07-06 16:42 ` Mikhail Paulyshka
2025-07-06 17:07 ` Borislav Petkov
2025-07-06 20:31 ` Mikhail Paulyshka
2025-07-08 14:50 ` [tip: x86/urgent] x86/CPU/AMD: Disable INVLPGB on Zen2 tip-bot2 for Mikhail Paulyshka
2025-07-08 19:50 ` tip-bot2 for Mikhail Paulyshka
2025-07-08 14:50 ` [tip: x86/urgent] x86/rdrand: Disable RDSEED on AMD Cyan Skillfish tip-bot2 for Mikhail Paulyshka
2025-07-08 19:50 ` tip-bot2 for Mikhail Paulyshka [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=175200422447.406.16824702825580478461.tip-bot2@tip-bot2 \
--to=tip-bot2@linutronix.de \
--cc=bp@alien8.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=me@mixaill.net \
--cc=stable@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®