kernel test robot reported that kernel/printk/internal.h is not ready to be #include'd for multiple times, and that vprintk_func() for CONFIG_PRINTK=n should be marked as "static inline".
Since "tty: use printk_safe context at tty_msg()" will make kernel/printk/internal.h be #include'd for multiple times, let's fix this problem first. Reported-by: kernel test robot <l...@intel.com> Signed-off-by: Tetsuo Handa <penguin-ker...@i-love.sakura.ne.jp> Fixes: 099f1c84c0052ec1 ("printk: introduce per-cpu safe_print seq buffer") Cc: <sta...@vger.kernel.org> # 4.11+ --- kernel/printk/internal.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/kernel/printk/internal.h b/kernel/printk/internal.h index 3a8fd491758c..2119c546cba2 100644 --- a/kernel/printk/internal.h +++ b/kernel/printk/internal.h @@ -2,6 +2,10 @@ /* * internal.h - printk internal definitions */ + +#ifndef _KERNEL_PRINTK_INTERNAL_H +#define _KERNEL_PRINTK_INTERNAL_H + #include <linux/percpu.h> #ifdef CONFIG_PRINTK @@ -56,7 +60,7 @@ void defer_console_output(void); #else -__printf(1, 0) int vprintk_func(const char *fmt, va_list args) { return 0; } +static inline __printf(1, 0) int vprintk_func(const char *fmt, va_list args) { return 0; } /* * In !PRINTK builds we still export logbuf_lock spin_lock, console_sem @@ -72,3 +76,5 @@ __printf(1, 0) int vprintk_func(const char *fmt, va_list args) { return 0; } static inline void printk_safe_init(void) { } static inline bool printk_percpu_data_ready(void) { return false; } #endif /* CONFIG_PRINTK */ + +#endif -- 2.18.4