On Wed 02-03-16 19:36:26, Hidehiro Kawai wrote: [...] > +void nmi_panic(struct pt_regs *regs, const char *fmt, ...) Do we really need vargs? All the current users seem to be OK with a simple string. This makes the code slightly more complicated without any apparent reason. > +{ > + static char buf[1024]; /* protected by panic_cpu */ > + va_list args; > + int old_cpu, cpu; > + > + cpu = raw_smp_processor_id(); > + old_cpu = atomic_cmpxchg(&panic_cpu, PANIC_CPU_INVALID, cpu); > + > + if (old_cpu == PANIC_CPU_INVALID) { > + va_start(args, fmt); > + vsnprintf(buf, sizeof(buf), fmt, args); > + va_end(args); > + > + panic("%s", buf); > + } else if (old_cpu != cpu) > + nmi_panic_self_stop(regs); > +} > +EXPORT_SYMBOL(nmi_panic); > + > /** > * panic - halt the system > * @fmt: The text string to print > > -- Michal Hocko SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html