[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen stable-4.7] x86: two fixes to Spectre v2 backports
commit 02daeb5f425698f55d8961718d4283d8157aaaf0 Author: Jan Beulich <jbeulich@xxxxxxxx> AuthorDate: Tue Feb 27 14:34:27 2018 +0100 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Tue Feb 27 14:34:27 2018 +0100 x86: two fixes to Spectre v2 backports - convert another (importantish) indirect call - check the full guest value for PV SPEC_CTRL writes Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> --- xen/arch/x86/traps.c | 2 +- xen/arch/x86/x86_64/entry.S | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c index c15e02672d..35ad3187dc 100644 --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -2897,7 +2897,7 @@ static int emulate_privileged_op(struct cpu_user_regs *regs) * when STIBP isn't enumerated in hardware. */ - if ( eax & ~(SPEC_CTRL_IBRS | SPEC_CTRL_STIBP) ) + if ( msr_content & ~(SPEC_CTRL_IBRS | SPEC_CTRL_STIBP) ) goto fail; /* Rsvd bit set? */ v->arch.spec_ctrl = eax; diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S index 0aac1424fb..1f6e64e418 100644 --- a/xen/arch/x86/x86_64/entry.S +++ b/xen/arch/x86/x86_64/entry.S @@ -209,7 +209,8 @@ UNLIKELY_START(ne, trace) UNLIKELY_END(trace) leaq hypercall_table(%rip),%r10 PERFC_INCR(hypercalls, %rax, %rbx) - callq *(%r10,%rax,8) + mov (%r10, %rax, 8), %rax + INDIRECT_CALL %rax #ifndef NDEBUG /* Deliberately corrupt parameter regs used by this hypercall. */ popq %r10 # Shadow RIP -- generated by git-patchbot for /home/xen/git/xen.git#stable-4.7 _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |