Skip to content

Commit e8084c2

Browse files
committed
x86/fpu: Exclude MPX states from the initial fpu
MPX has been deprected in Linux Kernel and it is completely disabled in VM-s (kvm). Fixes #11687 Signed-off-by: Andrei Vagin <avagin@google.com>
1 parent e4c0595 commit e8084c2

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

pkg/sentry/arch/fpu/fpu_amd64.s

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,12 @@
2222
// FXSAVE/XSAVE area. (Intel SDM Vol. 1, Table 10-2 "Format of an FXSAVE Area")
2323
#define MXCSR_OFFSET 24
2424

25-
// The value for XCR0 is defined to xsave/xrstor everything except for PKRU and
26-
// AMX regions.
25+
// The value for XCR0 is defined to xsave/xrstor everything except for MPX, PKRU
26+
// and AMX regions.
27+
// MPX has been deprecated.
2728
// TODO(gvisor.dev/issues/9896): Implement AMX support.
2829
// TODO(gvisor.dev/issues/10087): Implement PKRU support.
29-
#define XCR0_DISABLED_MASK ((1 << 9) | (1 << 17) | (1 << 18))
30+
#define XCR0_DISABLED_MASK ((1 << 3) | (1 << 4) | (1 << 9) | (1 << 17) | (1 << 18))
3031
#define XCR0_EAX (0xffffffff ^ XCR0_DISABLED_MASK)
3132
#define XCR0_EDX 0xffffffff
3233

0 commit comments

Comments
 (0)