[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 3/3] xen/arm: Survive unknown traps from guests
On Thu, 4 May 2017, Julien Grall wrote: > Currently we crash Xen if we see an ESR_EL2.EC value we don't recognise. > As configurable disables/enables are added to the architecture > (controlled by RES1/RESO bits respectively), with associated synchronous > exceptions, it may be possible for a guest to trigger exceptions with > classes that we don't recognise. > > While we can't service these exceptions in a manner useful to the guest, > we can avoid bringing down the host. Per ARM DDI 0487A.k_iss10775, page > D7-1937, EC values within the range 0x00 - 0x2c are reserved for future > use with synchronous exceptions, and EC within the range 0x2d - 0x3f may > be used for either synchronous or asynchronous exceptions. > > The patch makes Xen handle any unknown EC by injecting an UNDEFINED > exception into the guest, with a corresponding (ratelimited) warning in > the log. > > This patch is based on Linux commit f050fe7a9164 "arm: KVM: Survive unknown > traps from the guest". > > Signed-off-by: Julien Grall <julien.grall@xxxxxxx> > Acked-by: Mark Rutland <mark.rutland@xxxxxxx> > --- > xen/arch/arm/traps.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c > index c8ce62ff96..c0203da097 100644 > --- a/xen/arch/arm/traps.c > +++ b/xen/arch/arm/traps.c > @@ -2926,9 +2926,10 @@ asmlinkage void do_trap_guest_sync(struct > cpu_user_regs *regs) > break; > > default: > - printk("Guest Trap. HSR=0x%x EC=0x%x IL=%x Syndrome=0x%"PRIx32"\n", > - hsr.bits, hsr.ec, hsr.len, hsr.iss); > - do_unexpected_trap("Guest", regs); > + gprintk(XENLOG_WARNING, > + "Guest Trap. HSR=0x%x EC=0x%x IL=%x Syndrome=0x%"PRIx32"\n", > + hsr.bits, hsr.ec, hsr.len, hsr.iss); > + inject_undef_exception(regs, hsr); > } > } I see you addressed my previous comment in this patch :-) Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |