summaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorEugene Korenevsky <ekorenevsky@gmail.com>2015-04-17 02:22:21 +0000
committerPaolo Bonzini <pbonzini@redhat.com>2015-07-23 08:26:39 +0200
commitf9eb4af67c9dde195bae965a86c35c35402249c0 (patch)
treefab333824144143d7ed92295575e85efd8e60bc2 /mm
parent0da029ed7ee5fdf49a2a0e14160c3e9999be9292 (diff)
downloadop-kernel-dev-f9eb4af67c9dde195bae965a86c35c35402249c0.zip
op-kernel-dev-f9eb4af67c9dde195bae965a86c35c35402249c0.tar.gz
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 <ekorenevsky@gmail.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'mm')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud