]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
kernel/panic.c: add TAINT_AUX
authorBorislav Petkov <bp@suse.de>
Fri, 17 Nov 2017 23:30:38 +0000 (15:30 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 18 Nov 2017 00:10:04 +0000 (16:10 -0800)
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>
include/linux/kernel.h
kernel/panic.c

index 4b484ab9e1635e6b412038fa2204d3f297a7c97d..ce51455e2adf631229d21b43e6afb76b2496790c 100644 (file)
@@ -549,7 +549,8 @@ extern enum system_states {
 #define TAINT_UNSIGNED_MODULE          13
 #define TAINT_SOFTLOCKUP               14
 #define TAINT_LIVEPATCH                        15
-#define TAINT_FLAGS_COUNT              16
+#define TAINT_AUX                      16
+#define TAINT_FLAGS_COUNT              17
 
 struct taint_flag {
        char c_true;    /* character printed when tainted */
index 3242b64b1956ded1e3093fe5ec9acde61e4a126a..2cfef408fec931ac0ef3f3c95b31269ed1d3ea29 100644 (file)
@@ -324,6 +324,7 @@ const struct taint_flag taint_flags[TAINT_FLAGS_COUNT] = {
        { 'E', ' ', true },     /* TAINT_UNSIGNED_MODULE */
        { 'L', ' ', false },    /* TAINT_SOFTLOCKUP */
        { '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.
  *  'L' - A soft lockup has previously occurred.
  *  'K' - Kernel has been live patched.
+ *  'X' - Auxiliary taint, for distros' use.
  *
  *     The string is overwritten by the next call to print_tainted().
  */