Re: [PATCH v1 1/1] kernel.h: Split out panic and oops helpers
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date: 2021-04-08 13:29:25
Also in:
kexec, linux-arch, linux-fsdevel, linux-remoteproc, linuxppc-dev, lkml, rcu
On Thu, Apr 08, 2021 at 02:45:12PM +0200, Rasmus Villemoes wrote:
On 06/04/2021 15.31, Andy Shevchenko wrote:quoted
kernel.h is being used as a dump for all kinds of stuff for a long time. Here is the attempt to start cleaning it up by splitting out panic and oops helpers.Yay. Acked-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Thanks!
quoted
At the same time convert users in header and lib folder to use new header. Though for time being include new header back to kernel.h to avoid twisted indirected includes for existing users.I think it would be good to have some place to note that "This #include is just for backwards compatibility, it will go away RealSoonNow, so if you rely on something from linux/panic.h, include that explicitly yourself TYVM. And if you're looking for a janitorial task, write a script to check that every file that uses some identifier defined in panic.h actually includes that file. When all offenders are found and dealt with, remove the #include and this note.".
Good and...
quoted
+struct taint_flag { + char c_true; /* character printed when tainted */ + char c_false; /* character printed when not tainted */ + bool module; /* also show as a per-module taint flag */ +}; + +extern const struct taint_flag taint_flags[TAINT_FLAGS_COUNT];While you're doing this, nothing outside of kernel/panic.c cares about the definition of struct taint_flag or use the taint_flags array, so could you make the definition private to that file and make the array static? (Another patch, of course.)
...according to the above if *you are looking for a janitorial task*... :-))
quoted
+enum lockdep_ok { + LOCKDEP_STILL_OK, + LOCKDEP_NOW_UNRELIABLE, +}; + +extern const char *print_tainted(void); +extern void add_taint(unsigned flag, enum lockdep_ok); +extern int test_taint(unsigned flag); +extern unsigned long get_taint(void);I know you're just moving code, but it would be a nice opportunity to drop the redundant externs.
As above. But for all these I have heard you. So, I'll keep this response as part of my always only growing TODO list. -- With Best Regards, Andy Shevchenko