Messages in this thread | | | Subject | Re: [PATCH v1 1/1] kernel.h: Split out panic and oops helpers | From | Rasmus Villemoes <> | Date | Thu, 8 Apr 2021 14:45:12 +0200 |
| |
On 06/04/2021 15.31, Andy Shevchenko wrote: > 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>
> 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.".
> + > +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.)
> +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.
Rasmus
| |