From 57673c2b0baa900dddae3b9eb3d7748ebf550eb3 Mon Sep 17 00:00:00 2001
From: Rusty Russell <rusty@rustcorp.com.au>
Date: Mon, 31 Mar 2014 14:39:57 +1030
Subject: Use 'E' instead of 'X' for unsigned module taint flag.
Git-commit: 57673c2b0baa900dddae3b9eb3d7748ebf550eb3
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux.git
Patch-mainline: To be in 3.15-rc1
References: bnc#870450,FATE#317134

Takashi Iwai <tiwai@suse.de> says:
> The letter 'X' has been already used for SUSE kernels for very long
> time, to indicate the external supported modules.  Can the new flag be
> changed to another letter for avoiding conflict...?
> (BTW, we also use 'N' for "no support", too.)

Note: this code should be cleaned up, so we don't have such maps in
three places!

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Acked-by: Takashi Iwai <tiwai@suse.de>

---
---
 Documentation/oops-tracing.txt |    2 +-
 kernel/module.c                |    2 +-
 kernel/panic.c                 |    4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)

--- a/Documentation/oops-tracing.txt
+++ b/Documentation/oops-tracing.txt
@@ -263,7 +263,7 @@ characters, each representing a particul
  12: 'I' if the kernel is working around a severe bug in the platform
      firmware (BIOS or similar).
 
- 13: 'X' if an unsigned module has been loaded in a kernel supporting
+ 13: 'E' if an unsigned module has been loaded in a kernel supporting
      module signature.
 
 The primary reason for the 'Tainted: ' string is to tell kernel
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -3406,7 +3406,7 @@ static char *module_flags(struct module
 		if (mod->taints & (1 << TAINT_CRAP))
 			buf[bx++] = 'C';
 		if (mod->taints & (1 << TAINT_UNSIGNED_MODULE))
-			buf[bx++] = 'X';
+			buf[bx++] = 'E';
 #ifdef CONFIG_ENTERPRISE_SUPPORT
 		if (mod->taints & (1 << TAINT_NO_SUPPORT))
 			buf[bx++] = 'N';
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -186,7 +186,7 @@ static const struct tnt tnts[] = {
 	{ TAINT_WARN,			'W', ' ' },
 	{ TAINT_CRAP,			'C', ' ' },
 	{ TAINT_FIRMWARE_WORKAROUND,	'I', ' ' },
-	{ TAINT_UNSIGNED_MODULE,	'X', ' ' },
+	{ TAINT_UNSIGNED_MODULE,	'E', ' ' },
 #ifdef CONFIG_ENTERPRISE_SUPPORT
 	{ TAINT_NO_SUPPORT,		'N', ' ' },
 	{ TAINT_EXTERNAL_SUPPORT,	'X', ' ' },
@@ -208,7 +208,7 @@ static const struct tnt tnts[] = {
  *  'W' - Taint on warning.
  *  'C' - modules from drivers/staging are loaded.
  *  'I' - Working around severe firmware bug.
- *  'X' - Unsigned module has been loaded.
+ *  'E' - Unsigned module has been loaded.
  *  'N' - Unsuported modules loaded.
  *  'X' - Modules with external support loaded.
  *
