[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190712130916.GR3419@hirez.programming.kicks-ass.net>
Date: Fri, 12 Jul 2019 15:09:16 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Zhenzhong Duan <zhenzhong.duan@...cle.com>
Cc: linux-kernel@...r.kernel.org, xen-devel@...ts.xenproject.org,
x86@...nel.org, srinivas.eeda@...cle.com,
Boris Ostrovsky <boris.ostrovsky@...cle.com>,
Juergen Gross <jgross@...e.com>,
Stefano Stabellini <sstabellini@...nel.org>,
Andy Lutomirski <luto@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>
Subject: Re: [PATCH v2] xen/pv: Fix a boot up hang revealed by int3 self test
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?
> > The sole user seems to be get_trap_addr() and that talks about ISTs, but
> > #BP isn't an IST anymore, so why does it have ist_okay=true?
>
> Oh, yes, I missed that boolean, thanks. I'll try ist_okey=false for int3 and
> test it tomorrow.
Thanks!
Powered by blists - more mailing lists