Hi Steven, > From: Steven Rostedt [mailto:rostedt@goodmis.org] > On Tue, Nov 24, 2015 at 11:48:53AM +0100, Borislav Petkov wrote: > > > + */ > > > + while (!raw_spin_trylock(&nmi_reason_lock)) > > > + poll_crash_ipi_and_callback(regs); > > > > Waaait a minute: so if we're getting NMIs broadcasted on every core but > > we're *not* crash dumping, we will run into here too. This can't be > > right. :-\ > > This only does something if crash_ipi_done is set, which means you are killing > the box. But perhaps a comment that states that here would be useful, or maybe > just put in the check here. There's no need to make it depend on SMP, as > raw_spin_trylock() will turn to just ({1}) for UP, and that code wont even be > hit. It seems that poll_crash_ipi_and_callback (now renamed to run_crash_ipi_callback) is referred for UP if CONFIG_DEBUG_SPINLOCK=y, and it causes a build error as below. run_crash_ipi_callback refers crash_ipi_issued and crash_nmi_callback, which are defined only if CONFIG_SMP=y. So we need to defined it separately for SMP and UP. I'll resend this patch later. > Hi Hidehiro, > > [auto build test ERROR on v4.4-rc4] > [also build test ERROR on next-20151209] > [cannot apply to tip/x86/core] > > url: > https://github.com/0day-ci/linux/commits/Hidehiro-Kawai/Fix-race-issues-among-panic-NMI-and-crash_kexec/20151210-095 > 254 > config: x86_64-randconfig-s4-12101030 (attached as .config) > reproduce: > # save the attached .config to linux build tree > make ARCH=x86_64 > > All errors (new ones prefixed by >>): > > arch/x86/built-in.o: In function `do_nmi': > >> (.text+0x7339): undefined reference to `run_crash_ipi_callback' > > --- > 0-DAY kernel test infrastructure Open Source Technology Center > https://lists.01.org/pipermail/kbuild-all Intel Corporation {.n++%ݶw{.n+{G{ayʇڙ,jfhz_(階ݢj"mG?&~iOzv^m ?I