summaryrefslogtreecommitdiff
path: root/kernel/irq
diff options
context:
space:
mode:
authorNadav Amit <namit@cs.technion.ac.il>2014-12-25 02:52:23 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2015-01-08 22:48:08 +0100
commitedccda7ca7e56b335c70ae512f89d0fdf7fb8c69 (patch)
tree472fe75d29ac7e228ffa48cd5c61f9ae60803b5d /kernel/irq
parente2cefa746e7e2a1104931d411b6f5de159d98ec6 (diff)
KVM: x86: Access to LDT/GDT that wraparound is incorrect
When access to descriptor in LDT/GDT wraparound outside long-mode, the address of the descriptor should be truncated to 32-bit. Citing Intel SDM 2.1.1.1 "Global and Local Descriptor Tables in IA-32e Mode": "GDTR and LDTR registers are expanded to 64-bits wide in both IA-32e sub-modes (64-bit mode and compatibility mode)." So in other cases, we need to truncate. Creating new function to return a pointer to descriptor table to avoid too much code duplication. Signed-off-by: Nadav Amit <namit@cs.technion.ac.il> [Wrap 64-bit check with #ifdef CONFIG_X86_64, to avoid a "right shift count >= width of type" warning and consequent undefined behavior. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'kernel/irq')
0 files changed, 0 insertions, 0 deletions