Hi Stefan, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on char-misc/char-misc-testing] [also build test WARNING on linus/master v5.19-rc2 next-20220614] [cannot apply to robh/for-next] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/intel-lab-lkp/linux/commits/Stefan-Berger/tpm-Preserve-TPM-measurement-log-across-kexec/20220615-001510 base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git 0a35780c755ccec097d15c6b4ff8b246a89f1689 config: um-i386_defconfig (https://download.01.org/0day-ci/archive/20220615/202206150235.zvfG6DIM-lkp@xxxxxxxxx/config) compiler: gcc-11 (Debian 11.3.0-3) 11.3.0 reproduce (this is a W=1 build): # https://github.com/intel-lab-lkp/linux/commit/c42b5be1ad82e8a991a3d35417c9e495e7eb4c93 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Stefan-Berger/tpm-Preserve-TPM-measurement-log-across-kexec/20220615-001510 git checkout c42b5be1ad82e8a991a3d35417c9e495e7eb4c93 # save the config file mkdir build_dir && cp config build_dir/.config make W=1 O=build_dir ARCH=um SUBARCH=i386 SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): In file included from include/linux/irqdomain.h:35, from include/linux/acpi.h:13, from include/linux/i2c.h:13, from drivers/input/mouse/synaptics.c:30: >> include/linux/of.h:848:48: warning: 'struct kimage' declared inside parameter list will not be visible outside of this definition or declaration 848 | static inline void tpm_add_kexec_buffer(struct kimage *image) | ^~~~~~ drivers/input/mouse/synaptics.c:164:27: warning: 'smbus_pnp_ids' defined but not used [-Wunused-const-variable=] 164 | static const char * const smbus_pnp_ids[] = { | ^~~~~~~~~~~~~ -- In file included from include/linux/irqdomain.h:35, from include/linux/acpi.h:13, from init/main.c:30: >> include/linux/of.h:848:48: warning: 'struct kimage' declared inside parameter list will not be visible outside of this definition or declaration 848 | static inline void tpm_add_kexec_buffer(struct kimage *image) | ^~~~~~ init/main.c:769:20: warning: no previous prototype for 'arch_post_acpi_subsys_init' [-Wmissing-prototypes] 769 | void __init __weak arch_post_acpi_subsys_init(void) { } | ^~~~~~~~~~~~~~~~~~~~~~~~~~ init/main.c:781:20: warning: no previous prototype for 'mem_encrypt_init' [-Wmissing-prototypes] 781 | void __init __weak mem_encrypt_init(void) { } | ^~~~~~~~~~~~~~~~ init/main.c:783:20: warning: no previous prototype for 'poking_init' [-Wmissing-prototypes] 783 | void __init __weak poking_init(void) { } | ^~~~~~~~~~~ -- In file included from include/linux/clocksource.h:19, from include/linux/clockchips.h:14, from include/linux/tick.h:8, from arch/um/kernel/process.c:24: >> include/linux/of.h:848:48: warning: 'struct kimage' declared inside parameter list will not be visible outside of this definition or declaration 848 | static inline void tpm_add_kexec_buffer(struct kimage *image) | ^~~~~~ arch/um/kernel/process.c:50:5: warning: no previous prototype for 'pid_to_processor_id' [-Wmissing-prototypes] 50 | int pid_to_processor_id(int pid) | ^~~~~~~~~~~~~~~~~~~ arch/um/kernel/process.c:86:7: warning: no previous prototype for '__switch_to' [-Wmissing-prototypes] 86 | void *__switch_to(struct task_struct *from, struct task_struct *to) | ^~~~~~~~~~~ arch/um/kernel/process.c: In function 'new_thread_handler': arch/um/kernel/process.c:121:28: warning: variable 'n' set but not used [-Wunused-but-set-variable] 121 | int (*fn)(void *), n; | ^ arch/um/kernel/process.c: At top level: arch/um/kernel/process.c:139:6: warning: no previous prototype for 'fork_handler' [-Wmissing-prototypes] 139 | void fork_handler(void) | ^~~~~~~~~~~~ arch/um/kernel/process.c:216:6: warning: no previous prototype for 'arch_cpu_idle' [-Wmissing-prototypes] 216 | void arch_cpu_idle(void) | ^~~~~~~~~~~~~ arch/um/kernel/process.c:253:5: warning: no previous prototype for 'copy_to_user_proc' [-Wmissing-prototypes] 253 | int copy_to_user_proc(void __user *to, void *from, int size) | ^~~~~~~~~~~~~~~~~ arch/um/kernel/process.c:263:5: warning: no previous prototype for 'clear_user_proc' [-Wmissing-prototypes] 263 | int clear_user_proc(void __user *buf, int size) | ^~~~~~~~~~~~~~~ arch/um/kernel/process.c:316:12: warning: no previous prototype for 'make_proc_sysemu' [-Wmissing-prototypes] 316 | int __init make_proc_sysemu(void) | ^~~~~~~~~~~~~~~~ arch/um/kernel/process.c:356:15: warning: no previous prototype for 'arch_align_stack' [-Wmissing-prototypes] 356 | unsigned long arch_align_stack(unsigned long sp) | ^~~~~~~~~~~~~~~~ -- In file included from include/linux/clocksource.h:19, from include/linux/clockchips.h:14, from arch/um/kernel/time.c:10: >> include/linux/of.h:848:48: warning: 'struct kimage' declared inside parameter list will not be visible outside of this definition or declaration 848 | static inline void tpm_add_kexec_buffer(struct kimage *image) | ^~~~~~ arch/um/kernel/time.c:778:13: warning: no previous prototype for 'time_init' [-Wmissing-prototypes] 778 | void __init time_init(void) | ^~~~~~~~~ -- In file included from include/linux/clocksource.h:19, from include/linux/clockchips.h:14, from include/linux/tick.h:8, from include/linux/sched/isolation.h:6, from kernel/workqueue.c:51: >> include/linux/of.h:848:48: warning: 'struct kimage' declared inside parameter list will not be visible outside of this definition or declaration 848 | static inline void tpm_add_kexec_buffer(struct kimage *image) | ^~~~~~ -- In file included from include/linux/clocksource.h:19, from include/linux/clockchips.h:14, from include/linux/tick.h:8, from kernel/irq_work.c:17: >> include/linux/of.h:848:48: warning: 'struct kimage' declared inside parameter list will not be visible outside of this definition or declaration 848 | static inline void tpm_add_kexec_buffer(struct kimage *image) | ^~~~~~ kernel/irq_work.c:70:13: warning: no previous prototype for 'arch_irq_work_raise' [-Wmissing-prototypes] 70 | void __weak arch_irq_work_raise(void) | ^~~~~~~~~~~~~~~~~~~ -- In file included from include/linux/clocksource.h:19, from include/linux/clockchips.h:14, from include/linux/tick.h:8, from include/linux/sched/isolation.h:6, from kernel/sched/fair.c:38: >> include/linux/of.h:848:48: warning: 'struct kimage' declared inside parameter list will not be visible outside of this definition or declaration 848 | static inline void tpm_add_kexec_buffer(struct kimage *image) | ^~~~~~ kernel/sched/fair.c:675:5: warning: no previous prototype for 'sched_update_scaling' [-Wmissing-prototypes] 675 | int sched_update_scaling(void) | ^~~~~~~~~~~~~~~~~~~~ -- In file included from include/linux/clocksource.h:19, from include/linux/clockchips.h:14, from include/linux/tick.h:8, from kernel/time/hrtimer.c:32: >> include/linux/of.h:848:48: warning: 'struct kimage' declared inside parameter list will not be visible outside of this definition or declaration 848 | static inline void tpm_add_kexec_buffer(struct kimage *image) | ^~~~~~ kernel/time/hrtimer.c:120:35: warning: initialized field overwritten [-Woverride-init] 120 | [CLOCK_REALTIME] = HRTIMER_BASE_REALTIME, | ^~~~~~~~~~~~~~~~~~~~~ kernel/time/hrtimer.c:120:35: note: (near initialization for 'hrtimer_clock_to_base_table[0]') kernel/time/hrtimer.c:121:35: warning: initialized field overwritten [-Woverride-init] 121 | [CLOCK_MONOTONIC] = HRTIMER_BASE_MONOTONIC, | ^~~~~~~~~~~~~~~~~~~~~~ kernel/time/hrtimer.c:121:35: note: (near initialization for 'hrtimer_clock_to_base_table[1]') kernel/time/hrtimer.c:122:35: warning: initialized field overwritten [-Woverride-init] 122 | [CLOCK_BOOTTIME] = HRTIMER_BASE_BOOTTIME, | ^~~~~~~~~~~~~~~~~~~~~ kernel/time/hrtimer.c:122:35: note: (near initialization for 'hrtimer_clock_to_base_table[7]') kernel/time/hrtimer.c:123:35: warning: initialized field overwritten [-Woverride-init] 123 | [CLOCK_TAI] = HRTIMER_BASE_TAI, | ^~~~~~~~~~~~~~~~ kernel/time/hrtimer.c:123:35: note: (near initialization for 'hrtimer_clock_to_base_table[11]') kernel/time/hrtimer.c: In function '__run_hrtimer': kernel/time/hrtimer.c:1648:14: warning: variable 'expires_in_hardirq' set but not used [-Wunused-but-set-variable] 1648 | bool expires_in_hardirq; | ^~~~~~~~~~~~~~~~~~ -- In file included from include/linux/clk-provider.h:9, from lib/vsprintf.c:23: >> include/linux/of.h:848:48: warning: 'struct kimage' declared inside parameter list will not be visible outside of this definition or declaration 848 | static inline void tpm_add_kexec_buffer(struct kimage *image) | ^~~~~~ lib/vsprintf.c: In function 'va_format': lib/vsprintf.c:1681:9: warning: function 'va_format' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format] 1681 | buf += vsnprintf(buf, end > buf ? end - buf : 0, va_fmt->fmt, va); | ^~~ vim +848 include/linux/of.h 847 > 848 static inline void tpm_add_kexec_buffer(struct kimage *image) 849 { 850 } 851 -- 0-DAY CI Kernel Test Service https://01.org/lkp