----- Original Message ----- > From: "Andy Lutomirski" <l...@kernel.org> > To: "Chunyu Hu" <ch...@redhat.com> > Cc: "Thomas Gleixner" <t...@linutronix.de>, "Ingo Molnar" <mi...@kernel.org>, > "H. Peter Anvin" <h...@zytor.com>, > "Peter Zijlstra" <pet...@infradead.org>, "Andrew Lutomirski" > <l...@kernel.org>, "Borislav Petkov" <b...@alien8.de>, > "Steven Rostedt" <rost...@goodmis.org>, linux-kernel@vger.kernel.org > Sent: Tuesday, November 28, 2017 11:41:20 AM > Subject: Re: [PATCH] x86/idt: load idt early in start_secondary > > On Mon, Nov 27, 2017 at 6:21 AM, Chunyu Hu <ch...@redhat.com> wrote: > > For ap, idt is first loaded in cpu_init() with load_current_idt(), > > that is to say, no exception can be handled before there. And then > > the idt_table has been completed by the bp. > > > > While there are some WARNs which needs the UD exception handling > > in the early boot code might be triggered when something uexpected > > happens during boot. In that case, cpu would fail to boot as the > > exception can't be handled. A WARNing during boot is not usually > > meaning the system could not boot. > > > > One use case is when ftrace=function is setup in kernel cmdline, the > > ftrace callback function will be called for every traced function. > > And in my case, the first traced function is load_ucode_ap. And there > > are WARN()s in function trace callback handling, it failed to reboot > > as one of the WARN()s is triggered before load_current_idt() executed. > > > > To make WARN()s can work earlier to ap, we load the idt_table early > > in start_secondary, and keep the second time idt load in cpu_init, > > as there is a load_ucode_ap() there. > > Reviewed-by: Andy Lutomirski <l...@kernel.org> > > Except that this is presumably missing a Cc: stable.
Do I need to resend this origin version and Cc stable? > -- Regards, Chunyu Hu