[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH for-4.12] x86/svm: Fix handling of ICEBP intercepts
On 2/1/19 8:49 AM, Andrew Cooper wrote: > c/s 9338a37d "x86/svm: implement debug events" added support for introspecting > ICEBP debug exceptions, but didn't account for the fact that > svm_get_insn_len() (previously __get_instruction_length) can fail and may > already raise #GP for the guest. > > If svm_get_insn_len() fails, return back to guest context rather than > continuing and mistaking a trap-style VMExit for a fault-style one. > > Spotted by Coverity. > > Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> > --- > CC: Jan Beulich <JBeulich@xxxxxxxx> > CC: Wei Liu <wei.liu2@xxxxxxxxxx> > CC: Roger Pau Monné <roger.pau@xxxxxxxxxx> > CC: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> > CC: Suravee Suthikulpanit <suravee.suthikulpanit@xxxxxxx> > CC: Brian Woods <brian.woods@xxxxxxx> > CC: Juergen Gross <jgross@xxxxxxxx> > CC: Razvan Cojocaru <rcojocaru@xxxxxxxxxxxxxxx> > CC: Tamas K Lengyel <tamas@xxxxxxxxxxxxx> > > This wants backporting to Xen 4.11 > --- > xen/arch/x86/hvm/svm/svm.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c > index 2584b90..e21091c 100644 > --- a/xen/arch/x86/hvm/svm/svm.c > +++ b/xen/arch/x86/hvm/svm/svm.c > @@ -2758,6 +2758,9 @@ void svm_vmexit_handler(struct cpu_user_regs *regs) > { > trap_type = X86_EVENTTYPE_PRI_SW_EXCEPTION; > inst_len = svm_get_insn_len(v, INSTR_ICEBP); > + > + if ( !instr_len ) > + break; > } > > rc = hvm_monitor_debug(regs->rip, > Acked-by: Brian Woods <brian.woods@xxxxxxx> _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |