[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3] xen/arm: Correctly support WARN_ON
Hi Ian, On 22/09/2014 16:29, Ian Campbell wrote: On Wed, 2014-09-10 at 16:33 -0700, Julien Grall wrote:+#ifdef CONFIG_ARM_64 +static void do_trap_brk(struct cpu_user_regs *regs, union hsr hsr) +{ + /* HCR_EL2.TGE and MDCR_EL2.TDE are not set so we never receive + * software breakpoint exception for EL1 and EL0 here + */ + /* It's not possible to use BUG_ON here, because we would recurse */ + if ( unlikely(READ_SYSREG(HCR_EL2) & HCR_TGE) || + unlikely(READ_SYSREG(MDCR_EL2) & HDCR_TDE) ) + panic("Unable to handle brk exception from EL1/EL0");Either of those bits being set doesn't imply that *this* trap came from EL1/EL0. The correct check would be BUG_ON(!hyp_mode(regs)) which I think won't recurse because the resulting BRK will pass the check the second time, although if you want to if (!hyp_mode(regs)) panic(...) instead that's fine too. In fact, I haven't though this way. The BUG_ON(!hyp_mode(regs)) will definitely works here. I will send a new version with this change and the typoes fixed. Regards, -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |