From 65df95516898f077cda44ace15e45e4c777fdaf3 Mon Sep 17 00:00:00 2001 From: Michael Pratt Date: Tue, 1 May 2018 22:17:13 -0700 Subject: Set LMA in EFER As of Linux 4.15 (f29810335965ac1f7bcb501ee2af5f039f792416 KVM/x86: Check input paging mode when cs.l is set), KVM validates that LMA is set along with LME. PiperOrigin-RevId: 195047401 Change-Id: I8b43d8f758a85b1f58ccbd747dcacd4056ef3f66 --- pkg/sentry/platform/ring0/kernel_amd64.go | 2 +- pkg/sentry/platform/ring0/x86.go | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'pkg/sentry/platform') diff --git a/pkg/sentry/platform/ring0/kernel_amd64.go b/pkg/sentry/platform/ring0/kernel_amd64.go index c82613a9c..76ba65b3f 100644 --- a/pkg/sentry/platform/ring0/kernel_amd64.go +++ b/pkg/sentry/platform/ring0/kernel_amd64.go @@ -149,7 +149,7 @@ func (c *CPU) CR4() uint64 { // //go:nosplit func (c *CPU) EFER() uint64 { - return _EFER_LME | _EFER_SCE | _EFER_NX + return _EFER_LME | _EFER_LMA | _EFER_SCE | _EFER_NX } // IsCanonical indicates whether addr is canonical per the amd64 spec. diff --git a/pkg/sentry/platform/ring0/x86.go b/pkg/sentry/platform/ring0/x86.go index e16f6c599..74b140066 100644 --- a/pkg/sentry/platform/ring0/x86.go +++ b/pkg/sentry/platform/ring0/x86.go @@ -46,6 +46,7 @@ const ( _EFER_SCE = 0x001 _EFER_LME = 0x100 + _EFER_LMA = 0x400 _EFER_NX = 0x800 _MSR_STAR = 0xc0000081 -- cgit v1.2.3