From: "H. Peter Anvin" <hpa@zytor.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
LKML <linux-kernel@vger.kernel.org>
Cc: Xin Li <xin@zytor.com>, Andy Lutomirski <luto@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
x86@kernel.org
Subject: Re: [PATCH v2] x86/fred: Fix 64bit identifier in fred_ss
Date: Tue, 02 Sep 2025 17:01:30 -0700 [thread overview]
Message-ID: <489572CC-89F3-4546-AE42-736B6D6F1657@zytor.com> (raw)
In-Reply-To: <20250902230117.1475414-1-andrew.cooper3@citrix.com>
On September 2, 2025 4:01:17 PM PDT, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>FRED can only be enabled in Long Mode. This is the 64bit mode (as opposed to
>compatibility mode) identifier, rather than being something hard-wired at 1.
>
>No functional change.
>
>Reviewed-by: Xin Li (Intel) <xin@zytor.com>
>Reviewed-by: H. Peter Anvin (Intel) <hpa@zytor.com>
>Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>---
>CC: Xin Li <xin@zytor.com>
>CC: "H. Peter Anvin" <hpa@zytor.com>
>CC: Andy Lutomirski <luto@kernel.org>
>CC: Thomas Gleixner <tglx@linutronix.de>
>CC: Ingo Molnar <mingo@redhat.com>
>CC: Borislav Petkov <bp@alien8.de>
>CC: Dave Hansen <dave.hansen@linux.intel.com>
>CC: x86@kernel.org
>CC: linux-kernel@vger.kernel.org
>
>v2:
> * State no functional change.
>
>IIRC, this was wrong in an older version of the FRED spec. I made the same
>mistake in Xen, and I didn't copy Linux's structure.
>
>I don't thinks this warrants backporting, but the fixes tag is:
>
>Fixes: 3c77bf02d0c0 ("x86/ptrace: Add FRED additional information to the pt_regs structure")
>---
> arch/x86/entry/entry_fred.c | 4 ++--
> arch/x86/include/asm/fred.h | 2 +-
> arch/x86/include/asm/ptrace.h | 4 ++--
> 3 files changed, 5 insertions(+), 5 deletions(-)
>
>diff --git a/arch/x86/entry/entry_fred.c b/arch/x86/entry/entry_fred.c
>index f004a4dc74c2..94e626cc6a07 100644
>--- a/arch/x86/entry/entry_fred.c
>+++ b/arch/x86/entry/entry_fred.c
>@@ -78,13 +78,13 @@ static noinstr void fred_intx(struct pt_regs *regs)
> static __always_inline void fred_other(struct pt_regs *regs)
> {
> /* The compiler can fold these conditions into a single test */
>- if (likely(regs->fred_ss.vector == FRED_SYSCALL && regs->fred_ss.lm)) {
>+ if (likely(regs->fred_ss.vector == FRED_SYSCALL && regs->fred_ss.l)) {
> regs->orig_ax = regs->ax;
> regs->ax = -ENOSYS;
> do_syscall_64(regs, regs->orig_ax);
> return;
> } else if (ia32_enabled() &&
>- likely(regs->fred_ss.vector == FRED_SYSENTER && !regs->fred_ss.lm)) {
>+ likely(regs->fred_ss.vector == FRED_SYSENTER && !regs->fred_ss.l)) {
> regs->orig_ax = regs->ax;
> regs->ax = -ENOSYS;
> do_fast_syscall_32(regs);
>diff --git a/arch/x86/include/asm/fred.h b/arch/x86/include/asm/fred.h
>index 12b34d5b2953..2bb65677c079 100644
>--- a/arch/x86/include/asm/fred.h
>+++ b/arch/x86/include/asm/fred.h
>@@ -79,7 +79,7 @@ static __always_inline void fred_entry_from_kvm(unsigned int type, unsigned int
> .type = type,
> .vector = vector,
> .nmi = type == EVENT_TYPE_NMI,
>- .lm = 1,
>+ .l = 1,
> };
>
> asm_fred_entry_from_kvm(ss);
>diff --git a/arch/x86/include/asm/ptrace.h b/arch/x86/include/asm/ptrace.h
>index 50f75467f73d..37370c3b1ffd 100644
>--- a/arch/x86/include/asm/ptrace.h
>+++ b/arch/x86/include/asm/ptrace.h
>@@ -84,8 +84,8 @@ struct fred_ss {
> : 4,
> /* Event was incident to enclave execution */
> enclave : 1,
>- /* CPU was in long mode */
>- lm : 1,
>+ /* CPU was in 64-bit mode */
>+ l : 1,
> /*
> * Nested exception during FRED delivery, not set
> * for #DF.
>
>base-commit: e6b9dce0aeeb91dfc0974ab87f02454e24566182
Acked-by: H. Peter Anvin (Intel) <hpa@zytor.com>
prev parent reply other threads:[~2025-09-03 0:02 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-14 19:04 [PATCH] " Andrew Cooper
2025-08-15 3:55 ` Xin Li
2025-08-15 16:21 ` H. Peter Anvin
2025-09-02 23:01 ` [PATCH v2] " Andrew Cooper
2025-09-03 0:01 ` H. Peter Anvin [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=489572CC-89F3-4546-AE42-736B6D6F1657@zytor.com \
--to=hpa@zytor.com \
--cc=andrew.cooper3@citrix.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@kernel.org \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
--cc=xin@zytor.com \
/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®