mbox series

[SRU,N,J,v3,0/1] disable XSAVES workaround

Message ID 20240906173709.17861-1-bethany.jamison@canonical.com
Headers show
Series disable XSAVES workaround | expand

Message

Bethany Jamison Sept. 6, 2024, 5:37 p.m. UTC
BugLink: https://bugs.launchpad.net/bugs/2077321

SRU Justification:

[Impact]

This patch fixes bug LP#2077321. An older commit (b056346) completely 
disables XSAVES instruction on all AMD ZEN1/2 hardware to avoid a bug
within that instruction (utilizes XSAVEC instruction instead). This 
method of working around this issue is a bit too broad and causes an
issue with migrating QEMU VMs from older kernels that use XSAVES to 
newer kernels with XSAVES disabled. This patch implements a commit
(29ba89f) to improve the workaround. It disables XSAVES only on 
machines that lack a revised piece of microcode that addresses the
XSAVES bug.

[Fix]

Above Commits:
b056346 (x86/CPU/AMD: Disable XSAVES on AMD family 0x17) - https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/jammy/commit/?id=b0563468eeac88ebc70559d52a0b66efc37e4e9d
29ba89f (x86/CPU/AMD: Improve the erratum 1386 workaround) - https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=29ba89f1895285f06c333546882e0c5ae9a6df23

Commit 29ba89f was cleanly cherry-pick to Noble. I had to adjust the 
context for Jammy because J was missing the definition for 'fix_erratum_1386', 
but this should not affect the fix changes.

[Test]
 
Compile tested

[Where problems could occur]

This fix affects those who use x86 processors, an issue with this fix
would be visible to the user via issues migrating QEMU VMs from older 
to newer kernels, or via XSAVEC being used instead of XSAVES in qualified
machines.

v2: adjusted to better match the stable patch format

v3: submited v2 too soon, needed to add impact/fix/test/problems sections

Borislav Petkov (AMD) (1):
  x86/CPU/AMD: Improve the erratum 1386 workaround

 arch/x86/include/asm/cpu_device_id.h |  8 ++++++++
 arch/x86/kernel/cpu/amd.c            | 12 ++++++++++++
 2 files changed, 20 insertions(+)

Comments

Thibault Ferrante Sept. 9, 2024, 9:35 a.m. UTC | #1
Acked-by: Thibault Ferrante <thibault.ferrante@canonical.com>


On 06-09-2024 19:37, Bethany Jamison wrote:
> BugLink: https://bugs.launchpad.net/bugs/2077321
Why does the bug is written as Confirmed for oracular even if the fix commit is already there as it was merged in 6.10
> 
> SRU Justification:
> 
> [Impact]
> 
> This patch fixes bug LP#2077321. An older commit (b056346) completely
> disables XSAVES instruction on all AMD ZEN1/2 hardware to avoid a bug
> within that instruction (utilizes XSAVEC instruction instead). This
> method of working around this issue is a bit too broad and causes an
> issue with migrating QEMU VMs from older kernels that use XSAVES to
> newer kernels with XSAVES disabled. This patch implements a commit
> (29ba89f) to improve the workaround. It disables XSAVES only on
> machines that lack a revised piece of microcode that addresses the
> XSAVES bug.
> 
> [Fix]
> 
> Above Commits:
> b056346 (x86/CPU/AMD: Disable XSAVES on AMD family 0x17) - https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/jammy/commit/?id=b0563468eeac88ebc70559d52a0b66efc37e4e9d
> 29ba89f (x86/CPU/AMD: Improve the erratum 1386 workaround) - https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=29ba89f1895285f06c333546882e0c5ae9a6df23
> 
> Commit 29ba89f was cleanly cherry-pick to Noble. I had to adjust the
> context for Jammy because J was missing the definition for 'fix_erratum_1386',
> but this should not affect the fix changes.
> 
> [Test]
>   
> Compile tested
> 
> [Where problems could occur]
> 
> This fix affects those who use x86 processors, an issue with this fix
> would be visible to the user via issues migrating QEMU VMs from older
> to newer kernels, or via XSAVEC being used instead of XSAVES in qualified
> machines.
> 
> v2: adjusted to better match the stable patch format
> 
> v3: submited v2 too soon, needed to add impact/fix/test/problems sections
> 
> Borislav Petkov (AMD) (1):
>    x86/CPU/AMD: Improve the erratum 1386 workaround
> 
>   arch/x86/include/asm/cpu_device_id.h |  8 ++++++++
>   arch/x86/kernel/cpu/amd.c            | 12 ++++++++++++
>   2 files changed, 20 insertions(+)
>