public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Alexander Monakov <amonakov@ispras.ru>, Borislav Petkov <bp@alien8.de>
Cc: Tavis Ormandy <taviso@gmail.com>,
	linux-kernel@vger.kernel.org, x86@kernel.org
Subject: Re: x86: AMD Zen2 ymm registers rolling back
Date: Wed, 1 Mar 2023 00:23:01 +0000	[thread overview]
Message-ID: <2eccf8e2-4aa3-dcda-064d-ca39d2295548@citrix.com> (raw)
In-Reply-To: <7ce3ea01-9758-0a97-e810-2bf38e7d59a7@ispras.ru>

On 28/02/2023 9:16 pm, Alexander Monakov wrote:
> On Tue, 28 Feb 2023, Borislav Petkov wrote:
>> On Tue, Feb 28, 2023 at 10:29:23PM +0300, Alexander Monakov wrote:
>>> That I can reproduce the bug even with the latest BIOS,
>> Can you reproduce if you boot with
>>
>> clearcpuid=xsaves
>>
>> ?
> No, with this option it is not reproducible.

Ok.

Given that AMD do appear to have screwed up here, and the exploit does
reliably work on modern versions of Linux and up-to-date firmware, the
next course of action is to clobber XSAVES by default.

So we need a table for all Zen2 parts of ucode revisions below which we
force hide XSAVES as the erratum workaround.

That, or we skip the table and just hide XSAVES unconditionally on all
Fam17/18h CPUs...  The Zen1/2 uarches have no supervisor states to
manage (AFAICT - the first supervisor states are CET in Zen3 I think),
and Linux already knows how to use XSAVEC (from virt usecases) which is
equivalent given no supervisor states.

Thoughts?

~Andrew

  reply	other threads:[~2023-03-01  0:23 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-22  6:40 x86: AMD Zen2 ymm registers rolling back Tavis Ormandy
2023-02-22  8:33 ` Borislav Petkov
2023-02-22  9:14   ` Borislav Petkov
2023-02-22  9:38     ` Andrew Cooper
2023-02-22 10:09       ` Borislav Petkov
2023-02-22 21:26         ` Tavis Ormandy
2023-02-22 22:17           ` Andrew Cooper
2023-02-22 22:26             ` Borislav Petkov
2023-02-22 22:25           ` Borislav Petkov
2023-02-28 18:47         ` Alexander Monakov
2023-02-28 19:20           ` Borislav Petkov
2023-02-28 19:24             ` Alexander Monakov
2023-02-28 19:25               ` Borislav Petkov
2023-02-28 19:29                 ` Alexander Monakov
2023-02-28 19:38                   ` Andrew Cooper
2023-02-28 21:45                     ` Alexander Monakov
2023-02-28 20:56                   ` Borislav Petkov
2023-02-28 21:16                     ` Alexander Monakov
2023-03-01  0:23                       ` Andrew Cooper [this message]
2023-03-01  8:54                         ` Borislav Petkov
2023-03-07 16:45                           ` Tavis Ormandy
2023-03-07 17:46 ` [PATCH] x86/amd: Work around Erratum 1386 - XSAVES malfunction on context switch Andrew Cooper
2023-03-07 17:50   ` Borislav Petkov
2023-03-07 18:22     ` Andrew Cooper
2023-03-07 18:56       ` Borislav Petkov
2023-03-07 20:01         ` Andrew Cooper
2023-03-07 20:09           ` Borislav Petkov
2023-03-14 16:01           ` Dave Hansen
2023-03-08 16:23   ` [tip: x86/urgent] x86/CPU/AMD: Disable XSAVES on AMD family 0x17 tip-bot2 for Andrew Cooper

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=2eccf8e2-4aa3-dcda-064d-ca39d2295548@citrix.com \
    --to=andrew.cooper3@citrix.com \
    --cc=amonakov@ispras.ru \
    --cc=bp@alien8.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=taviso@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox