Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

panic: Add taint flag TAINT_FIRMWARE_WORKAROUND ('I')

This taint flag will initially be used when warning about invalid ACPI
DMAR tables.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>

authored by

Ben Hutchings and committed by
David Woodhouse
92946bc7 b2be0527

+6
+3
Documentation/oops-tracing.txt
··· 260 260 261 261 11: 'C' if a staging driver has been loaded. 262 262 263 + 12: 'I' if the kernel is working around a severe bug in the platform 264 + firmware (BIOS or similar). 265 + 263 266 The primary reason for the 'Tainted: ' string is to tell kernel 264 267 debuggers if this is a clean kernel or if anything unusual has 265 268 occurred. Tainting is permanent: even if an offending module is
+1
include/linux/kernel.h
··· 344 344 #define TAINT_OVERRIDDEN_ACPI_TABLE 8 345 345 #define TAINT_WARN 9 346 346 #define TAINT_CRAP 10 347 + #define TAINT_FIRMWARE_WORKAROUND 11 347 348 348 349 extern void dump_stack(void) __cold; 349 350
+2
kernel/panic.c
··· 178 178 { TAINT_OVERRIDDEN_ACPI_TABLE, 'A', ' ' }, 179 179 { TAINT_WARN, 'W', ' ' }, 180 180 { TAINT_CRAP, 'C', ' ' }, 181 + { TAINT_FIRMWARE_WORKAROUND, 'I', ' ' }, 181 182 }; 182 183 183 184 /** ··· 195 194 * 'A' - ACPI table overridden. 196 195 * 'W' - Taint on warning. 197 196 * 'C' - modules from drivers/staging are loaded. 197 + * 'I' - Working around severe firmware bug. 198 198 * 199 199 * The string is overwritten by the next call to print_tainted(). 200 200 */