Re: [PATCH v2] xen/pv: Fix a boot up hang revealed by int3 self test

From: Peter Zijlstra
Date: Fri Jul 12 2019 - 09:17:25 EST


On Fri, Jul 12, 2019 at 03:09:16PM +0200, Peter Zijlstra wrote:
> On Fri, Jul 12, 2019 at 09:04:22PM +0800, Zhenzhong Duan wrote:
> >
> > On 2019/7/12 20:06, Peter Zijlstra wrote:
> > > On Thu, Jul 11, 2019 at 04:15:21PM +0800, Zhenzhong Duan wrote:
> > > > diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
> > > > index 4722ba2..2138d69 100644
> > > > --- a/arch/x86/xen/enlighten_pv.c
> > > > +++ b/arch/x86/xen/enlighten_pv.c
> > > > @@ -596,7 +596,7 @@ struct trap_array_entry {
> > > > static struct trap_array_entry trap_array[] = {
> > > > { debug, xen_xendebug, true },
> > > > - { int3, xen_xenint3, true },
> > > > + { int3, xen_int3, true },
> > > > { double_fault, xen_double_fault, true },
> > > > #ifdef CONFIG_X86_MCE
> > > > { machine_check, xen_machine_check, true },
> > > I'm confused on the purpose of trap_array[], could you elucidate me?
> >
> > Used to replace trap handler addresses by Xen specific ones and sanity check
> >
> > if there's an unexpected IST-using fault handler.
>
> git grep xen_int3, failed me. Where does that symbol come from?

N/m I found it... must be blind today.