kernel/panic.c: add TAINT_AUX
This is the gist of a patch which we've been forward-porting in our kernels for a long time now and it probably would make a good sense to have such TAINT_AUX flag upstream which can be used by each distro etc, how they see fit. This way, we won't need to forward-port a distro-only version indefinitely. Add an auxiliary taint flag to be used by distros and others. This obviates the need to forward-port whatever internal solutions people have in favor of a single flag which they can map arbitrarily to a definition of their pleasing. The "X" mnemonic could also mean eXternal, which would be taint from a distro or something else but not the upstream kernel. We will use it to mark modules for which we don't provide support. I.e., a really eXternal module. Link: http://lkml.kernel.org/r/20170911134533.dp5mtyku5bongx4c@pd.tnic Signed-off-by: Borislav Petkov <bp@suse.de> Cc: Kees Cook <keescook@chromium.org> Cc: Jessica Yu <jeyu@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Jiri Slaby <jslaby@suse.cz> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Michal Marek <mmarek@suse.cz> Cc: Jiri Kosina <jkosina@suse.cz> Cc: Takashi Iwai <tiwai@suse.de> Cc: Petr Mladek <pmladek@suse.com> Cc: Jeff Mahoney <jeffm@suse.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
e8cfbc245e
commit
4efb442cc1
2 changed files with 4 additions and 1 deletions
|
@ -549,7 +549,8 @@ extern enum system_states {
|
||||||
#define TAINT_UNSIGNED_MODULE 13
|
#define TAINT_UNSIGNED_MODULE 13
|
||||||
#define TAINT_SOFTLOCKUP 14
|
#define TAINT_SOFTLOCKUP 14
|
||||||
#define TAINT_LIVEPATCH 15
|
#define TAINT_LIVEPATCH 15
|
||||||
#define TAINT_FLAGS_COUNT 16
|
#define TAINT_AUX 16
|
||||||
|
#define TAINT_FLAGS_COUNT 17
|
||||||
|
|
||||||
struct taint_flag {
|
struct taint_flag {
|
||||||
char c_true; /* character printed when tainted */
|
char c_true; /* character printed when tainted */
|
||||||
|
|
|
@ -324,6 +324,7 @@ const struct taint_flag taint_flags[TAINT_FLAGS_COUNT] = {
|
||||||
{ 'E', ' ', true }, /* TAINT_UNSIGNED_MODULE */
|
{ 'E', ' ', true }, /* TAINT_UNSIGNED_MODULE */
|
||||||
{ 'L', ' ', false }, /* TAINT_SOFTLOCKUP */
|
{ 'L', ' ', false }, /* TAINT_SOFTLOCKUP */
|
||||||
{ 'K', ' ', true }, /* TAINT_LIVEPATCH */
|
{ 'K', ' ', true }, /* TAINT_LIVEPATCH */
|
||||||
|
{ 'X', ' ', true }, /* TAINT_AUX */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -345,6 +346,7 @@ const struct taint_flag taint_flags[TAINT_FLAGS_COUNT] = {
|
||||||
* 'E' - Unsigned module has been loaded.
|
* 'E' - Unsigned module has been loaded.
|
||||||
* 'L' - A soft lockup has previously occurred.
|
* 'L' - A soft lockup has previously occurred.
|
||||||
* 'K' - Kernel has been live patched.
|
* 'K' - Kernel has been live patched.
|
||||||
|
* 'X' - Auxiliary taint, for distros' use.
|
||||||
*
|
*
|
||||||
* The string is overwritten by the next call to print_tainted().
|
* The string is overwritten by the next call to print_tainted().
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue