Patch to include/linux/kernel.h breaks 3rd party modules.

From: Valdis Kletnieks
Date: Wed Dec 21 2016 - 15:44:38 EST


Yes, I know that usually out-of-tree modules are on their own.
However, this one may require a rethink..

(Sorry for not catching this sooner, I hadn't tried to deal with the
affected module since this patch hit linux-next in next-20161128)

commit 7fd8329ba502ef76dd91db561c7aed696b2c7720
Author: Petr Mladek <pmladek@xxxxxxxx>
Date: Wed Sep 21 13:47:22 2016 +0200

taint/module: Clean up global and module taint flags handling

Contains this chunk:

--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -506,6 +506,15 @@ extern enum system_states {
#define TAINT_UNSIGNED_MODULE 13
#define TAINT_SOFTLOCKUP 14
#define TAINT_LIVEPATCH 15
+#define TAINT_FLAGS_COUNT 16
+
+struct taint_flag {
+ char true; /* character printed when tainted */
+ char false; /* character printed when not tainted */
+ bool module; /* also show as a per-module taint flag */
+};

and hilarity ensues when an out-of-tree module has this:

# ifndef true
# define true (1)
# endif
# ifndef false
# define false (0)
# endif

My proposed fix: change true/false to tainted/untainted. If this
is agreeable, I'll code and submit the fix.


Attachment: pgpSmsxWAlIdr.pgp
Description: PGP signature