From: Eugene Korenevsky Date: Fri, 17 Apr 2015 02:22:21 +0000 (+0000) Subject: KVM: nVMX: VMX instructions: add checks for #GP/#SS exceptions X-Git-Tag: omap-for-v4.3/fixes-merge-window~47^2~25 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f9eb4af67c9dde195bae965a86c35c35402249c0;p=pandora-kernel.git KVM: nVMX: VMX instructions: add checks for #GP/#SS exceptions According to Intel SDM several checks must be applied for memory operands of VMX instructions. Long mode: #GP(0) or #SS(0) depending on the segment must be thrown if the memory address is in a non-canonical form. Protected mode, checks in chronological order: - The segment type must be checked with access type (read or write) taken into account. For write access: #GP(0) must be generated if the destination operand is located in a read-only data segment or any code segment. For read access: #GP(0) must be generated if if the source operand is located in an execute-only code segment. - Usability of the segment must be checked. #GP(0) or #SS(0) depending on the segment must be thrown if the segment is unusable. - Limit check. #GP(0) or #SS(0) depending on the segment must be thrown if the memory operand effective address is outside the segment limit. Signed-off-by: Eugene Korenevsky Signed-off-by: Paolo Bonzini --- Reading git-diff-tree failed