On Thu, Mar 08, 2018 at 01:46:39AM -0500, Paolo Bonzini wrote:
----- Original Message -----
From: "Sasha Levin" Alexander.Levin@microsoft.com To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: "Paolo Bonzini" pbonzini@redhat.com, "Sasha Levin" Alexander.Levin@microsoft.com Sent: Thursday, March 8, 2018 5:57:36 AM Subject: [PATCH AUTOSEL for 4.14 12/67] KVM: x86: add support for emulating UMIP
From: Paolo Bonzini pbonzini@redhat.com
[ Upstream commit 66336cab3531d3325ebde36a04725dddd0c42cb5 ]
The User-Mode Instruction Prevention feature present in recent Intel processor prevents a group of instructions (sgdt, sidt, sldt, smsw, and str) from being executed with CPL > 0. Otherwise, a general protection fault is issued.
UMIP instructions in general are also able to trigger vmexits, so we can actually emulate UMIP on older processors. This commit sets up the infrastructure so that kvm-intel.ko and kvm-amd.ko can set the UMIP feature bit for CPUID even if the feature is not actually available in hardware.
Reviewed-by: Wanpeng Li wanpeng.li@hotmail.com Signed-off-by: Paolo Bonzini pbonzini@redhat.com Signed-off-by: Sasha Levin alexander.levin@microsoft.com
This is not enough (there were a couple bugs, plus you have not added the changes needed to the handle SLDT, STR, etc. in the emulator). But since this is a feature, why is it being backported to 4.14, especially without any testing??
Hi Paolo,
They were proposed for stable as part of the automatic patch selection process. I'll drop this patch.