On Tue, 12 Feb 2019, Li, Aubrey wrote: > On 2019/2/12 16:22, Thomas Gleixner wrote: > > On Tue, 12 Feb 2019, Aubrey Li wrote: > >> diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h > >> index d53c54b842da..60ee932070fe 100644 > >> --- a/arch/x86/include/asm/processor.h > >> +++ b/arch/x86/include/asm/processor.h > >> @@ -996,5 +996,7 @@ enum l1tf_mitigations { > >> }; > >> > >> extern enum l1tf_mitigations l1tf_mitigation; > >> +/* Add support for architecture specific output in /proc/pid/status */ > >> +extern void arch_proc_pid_status(struct seq_file *m, struct task_struct *task); > > > > Sigh. This is absolutely the wrong place. The weak function is declared and > > used in fs/proc/... So the prototype wants to be in a header which is > > included from there independent of x86... > > Can the prototype be in the architecture header if they want to call the > function? Basic C programming course: The prototype must be available before the declaration of the global function. fs/proc/array.c:404:13: warning: no previous prototype for ‘arch_proc_pid_status’ [-Wmissing-prototypes] void __weak arch_proc_pid_status(struct seq_file *m, struct task_struct *task) Oh well.... Thanks, tglx