On Mon, Nov 27, 2017 at 8:57 PM, Chunyu Hu <ch...@redhat.com> wrote: > > > ----- 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?
I imagine that Ingo can add it. > >> > > -- > Regards, > Chunyu Hu >