Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5eb7c0d0 authored by Larry Finger's avatar Larry Finger Committed by Jessica Yu
Browse files

taint/module: Fix problems when out-of-kernel driver defines true or false



Commit 7fd8329b ("taint/module: Clean up global and module taint
flags handling") used the key words true and false as character members
of a new struct. These names cause problems when out-of-kernel modules
such as VirtualBox include their own definitions of true and false.

Fixes: 7fd8329b ("taint/module: Clean up global and module taint flags handling")
Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
Cc: Petr Mladek <pmladek@suse.com>
Cc: Jessica Yu <jeyu@redhat.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Reported-by: default avatarValdis Kletnieks <Valdis.Kletnieks@vt.edu>
Reviewed-by: default avatarPetr Mladek <pmladek@suse.com>
Acked-by: default avatarRusty Russell <rusty@rustcorp.com.au>
Signed-off-by: default avatarJessica Yu <jeyu@redhat.com>
parent 0c744ea4
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -514,8 +514,8 @@ extern enum system_states {
#define TAINT_FLAGS_COUNT		16

struct taint_flag {
	char true;	/* character printed when tainted */
	char false;	/* character printed when not tainted */
	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 */
};

+1 −1
Original line number Diff line number Diff line
@@ -1145,7 +1145,7 @@ static size_t module_flags_taint(struct module *mod, char *buf)

	for (i = 0; i < TAINT_FLAGS_COUNT; i++) {
		if (taint_flags[i].module && test_bit(i, &mod->taints))
			buf[l++] = taint_flags[i].true;
			buf[l++] = taint_flags[i].c_true;
	}

	return l;
+1 −1
Original line number Diff line number Diff line
@@ -355,7 +355,7 @@ const char *print_tainted(void)
		for (i = 0; i < TAINT_FLAGS_COUNT; i++) {
			const struct taint_flag *t = &taint_flags[i];
			*s++ = test_bit(i, &tainted_mask) ?
					t->true : t->false;
					t->c_true : t->c_false;
		}
		*s = 0;
	} else