All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jörg Rödel" <joro@8bytes.org>
To: Thomas Gleixner <tglx@kernel.org>, Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org
Cc: hpa@zytor.com, Tom Lendacky <thomas.lendacky@amd.com>,
	joro@8bytes.org, linux-kernel@vger.kernel.org,
	linux-coco@lists.linux.dev, Joerg Roedel <joerg.roedel@amd.com>
Subject: [PATCH 3/3] x86/coco/sev: Make SEV_STATUS available via SYSFS
Date: Mon,  3 Aug 2026 14:58:27 +0200	[thread overview]
Message-ID: <20260803125827.718024-4-joro@8bytes.org> (raw)
In-Reply-To: <20260803125827.718024-1-joro@8bytes.org>

From: Joerg Roedel <joerg.roedel@amd.com>

Current user-space tooling which needs access to the SEV_STATUS MSR is
using the MSR module. The use of this module poses a security risk in
any trusted execution environment and is generally discouraged.

Instead, provide an file in SYSFS in the /sys/devices/system/cpu/sev/
directory to provide the value of the SEV_STATUS MSR to user-space.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
---
 .../ABI/testing/sysfs-devices-system-cpu         |  4 ++++
 arch/x86/coco/sev/core.c                         | 16 +++++++++++++++-
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/Documentation/ABI/testing/sysfs-devices-system-cpu b/Documentation/ABI/testing/sysfs-devices-system-cpu
index 63586e299aa8..cec413a71491 100644
--- a/Documentation/ABI/testing/sysfs-devices-system-cpu
+++ b/Documentation/ABI/testing/sysfs-devices-system-cpu
@@ -690,6 +690,7 @@ Description:	Umwait control
 
 What:		/sys/devices/system/cpu/sev
 		/sys/devices/system/cpu/sev/vmpl
+		/sys/devices/system/cpu/sev/sev_status
 Date:		May 2024
 Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
 Description:	Secure Encrypted Virtualization (SEV) information
@@ -700,6 +701,9 @@ Description:	Secure Encrypted Virtualization (SEV) information
 		      the SEV-SNP guest is running. This file is only present
 		      when running as an SEV-SNP guest.
 
+		sev_status: Reports the value of the SEV_STATUS MSR which
+			    enumerates the enabled features of an SEV
+			    environment.
 
 What:		/sys/devices/system/cpu/svm
 Date:		August 2019
diff --git a/arch/x86/coco/sev/core.c b/arch/x86/coco/sev/core.c
index 5770b99feb9b..4532ffc27041 100644
--- a/arch/x86/coco/sev/core.c
+++ b/arch/x86/coco/sev/core.c
@@ -1431,9 +1431,23 @@ static ssize_t vmpl_show(struct kobject *kobj,
 	return sysfs_emit(buf, "%d\n", snp_vmpl);
 }
 
+static ssize_t sev_status_show(struct kobject *kobj,
+			       struct kobj_attribute *attr, char *buf)
+{
+	return sysfs_emit(buf, "0x%llx\n", sev_status);
+}
+
 static struct kobj_attribute vmpl_attr = __ATTR_RO(vmpl);
+static struct kobj_attribute sev_status_attr = __ATTR_RO(sev_status);
 
-static struct attribute_group sev_attr_group = {};
+static struct attribute *sev_status_attrs[] = {
+	&sev_status_attr.attr,
+	NULL
+};
+
+static struct attribute_group sev_attr_group = {
+	.attrs = sev_status_attrs,
+};
 
 static int __init sev_sysfs_init(void)
 {
-- 
2.53.0


      parent reply	other threads:[~2026-08-03 12:58 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-03 12:58 [PATCH 0/3 v2] x86/sev: Report MSR_AMD64_SEV in SYSFS Jörg Rödel
2026-08-03 12:58 ` [PATCH 1/3] x86/coco: Add CC_ATTR_GUEST_SEV Jörg Rödel
2026-08-03 12:58 ` [PATCH 2/3] x86/sev: Create /sys/devices/system/cpu/sev/ for all SEV guests Jörg Rödel
2026-08-03 12:58 ` Jörg Rödel [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=20260803125827.718024-4-joro@8bytes.org \
    --to=joro@8bytes.org \
    --cc=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=hpa@zytor.com \
    --cc=joerg.roedel@amd.com \
    --cc=linux-coco@lists.linux.dev \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=tglx@kernel.org \
    --cc=thomas.lendacky@amd.com \
    --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.