Commit dc63b526 authored by Zachary Amsden's avatar Zachary Amsden Committed by Ingo Molnar

x86, vmi: fix broken LDT access

This one took a long time to rear up because LDT usage is not very
common, but the bug is quite serious.  It got introduced along with
another bug, already fixed, by 75b8bb3e

After investigating a JRE failure, I found this bug was introduced a long time
ago, and had already managed to survive another bugfix which occurred on the
same line.  The result is a total failure of the JRE due to LDT selectors not
working properly.
Signed-off-by: default avatarZachary Amsden <zach@vmware.com>
Cc: Glauber de Oliveira Costa <gcosta@redhat.com>
Cc: stable@kernel.org
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 3dcd7e26
...@@ -235,7 +235,7 @@ static void vmi_write_ldt_entry(struct desc_struct *dt, int entry, ...@@ -235,7 +235,7 @@ static void vmi_write_ldt_entry(struct desc_struct *dt, int entry,
const void *desc) const void *desc)
{ {
u32 *ldt_entry = (u32 *)desc; u32 *ldt_entry = (u32 *)desc;
vmi_ops.write_idt_entry(dt, entry, ldt_entry[0], ldt_entry[1]); vmi_ops.write_ldt_entry(dt, entry, ldt_entry[0], ldt_entry[1]);
} }
static void vmi_load_sp0(struct tss_struct *tss, static void vmi_load_sp0(struct tss_struct *tss,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment