Messages in this thread | | | Date | Thu, 27 Jan 2022 08:02:19 -0800 | Subject | Re: [PATCH v2 1/4] panic: Add panic_in_progress helper | From | Stephen Brennan <> |
| |
On 1/27/22 06:34, Petr Mladek wrote: > On Wed 2022-01-26 15:02:33, Stephen Brennan wrote: >> This helper will be used in printk code to avoid deadlocks during >> panic(). >> >> Suggested-by: Petr Mladek <pmladek@suse.com> >> Signed-off-by: Stephen Brennan <stephen.s.brennan@oracle.com> > > Reviewed-by: Petr Mladek <pmladek@suse.com> > > Best Regards, > Petr
Hi Petr,
Thanks for the review, however over the night I received two kernel test robot emails. One indicating a new build error caused by this change on m68k arch, and the other adding a new warning on riscv. From what I can tell, the issues are circular dependencies in #includes. So it may be better to either return to the macro, or move this static inline down to kernel/printk/printk.c. I think moving it into kernel/printk/printk.c makes most sense given that the macro requires the correct #includes anyway.
Thanks, Stephen
------------- m68k
In file included from include/asm-generic/preempt.h:5, from ./arch/m68k/include/generated/asm/preempt.h:1, from include/linux/preempt.h:78, from arch/m68k/include/asm/irqflags.h:6, from include/linux/irqflags.h:16, from arch/m68k/include/asm/atomic.h:6, from include/linux/atomic.h:7, from include/linux/panic.h:7, from include/asm-generic/bug.h:21, from arch/m68k/include/asm/bug.h:32, from include/linux/bug.h:5, from include/linux/page-flags.h:10, from kernel/bounds.c:10: include/linux/thread_info.h: In function 'copy_overflow': >> include/linux/thread_info.h:214:9: error: implicit declaration of function 'WARN' [-Werror=implicit-function-declaration] 214 | WARN(1, "Buffer overflow detected (%d < %lu)!\n", size, count); | ^~~~ include/linux/thread_info.h: In function 'check_copy_size': >> include/linux/thread_info.h:230:13: error: implicit declaration of function 'WARN_ON_ONCE' [-Werror=implicit-function-declaration] 230 | if (WARN_ON_ONCE(bytes > INT_MAX)) | ^~~~~~~~~~~~ cc1: some warnings being treated as errors make[2]: *** [scripts/Makefile.build:121: kernel/bounds.s] Error 1 make[2]: Target '__build' not remade because of errors. make[1]: *** [Makefile:1191: prepare0] Error 2 make[1]: Target 'prepare' not remade because of errors. make: *** [Makefile:219: __sub-make] Error 2 make: Target 'prepare' not remade because of errors.
----------------- riscv:
In file included from arch/riscv/include/asm/atomic.h:19, from include/linux/atomic.h:7, from include/linux/panic.h:7, from include/asm-generic/bug.h:21, from arch/riscv/include/asm/bug.h:83, from include/linux/bug.h:5, from include/linux/page-flags.h:10, from kernel/bounds.c:10: arch/riscv/include/asm/atomic.h: In function 'arch_atomic_xchg_relaxed': >> arch/riscv/include/asm/cmpxchg.h:35:17: error: implicit declaration of function 'BUILD_BUG' [-Werror=implicit-function-declaration] 35 | BUILD_BUG(); \ | ^~~~~~~~~ arch/riscv/include/asm/atomic.h:249:16: note: in expansion of macro '__xchg_relaxed' 249 | return __xchg_relaxed(&(v->counter), n, size); \ | ^~~~~~~~~~~~~~ arch/riscv/include/asm/atomic.h:295:9: note: in expansion of macro 'ATOMIC_OP' 295 | ATOMIC_OP(int, , 4) \ | ^~~~~~~~~ arch/riscv/include/asm/atomic.h:299:1: note: in expansion of macro 'ATOMIC_OPS' 299 | ATOMIC_OPS() | ^~~~~~~~~~ cc1: some warnings being treated as errors make[2]: *** [scripts/Makefile.build:121: kernel/bounds.s] Error 1 make[2]: Target '__build' not remade because of errors. make[1]: *** [Makefile:1191: prepare0] Error 2 make[1]: Target 'prepare' not remade because of errors. make: *** [Makefile:219: __sub-make] Error 2 make: Target 'prepare' not remade because of errors.
| |