|
|
@@ -239,62 +239,3 @@ processed by ``klogd``::
|
|
|
|
|
|
---------------------------------------------------------------------------
|
|
|
|
|
|
-Tainted kernels
|
|
|
----------------
|
|
|
-
|
|
|
-Some oops reports contain the string **'Tainted: '** after the program
|
|
|
-counter. This indicates that the kernel has been tainted by some
|
|
|
-mechanism. The string is followed by a series of position-sensitive
|
|
|
-characters, each representing a particular tainted value.
|
|
|
-
|
|
|
- 1) 'G' if all modules loaded have a GPL or compatible license, 'P' if
|
|
|
- any proprietary module has been loaded. Modules without a
|
|
|
- MODULE_LICENSE or with a MODULE_LICENSE that is not recognised by
|
|
|
- insmod as GPL compatible are assumed to be proprietary.
|
|
|
-
|
|
|
- 2) ``F`` if any module was force loaded by ``insmod -f``, ``' '`` if all
|
|
|
- modules were loaded normally.
|
|
|
-
|
|
|
- 3) ``S`` if the oops occurred on an SMP kernel running on hardware that
|
|
|
- hasn't been certified as safe to run multiprocessor.
|
|
|
- Currently this occurs only on various Athlons that are not
|
|
|
- SMP capable.
|
|
|
-
|
|
|
- 4) ``R`` if a module was force unloaded by ``rmmod -f``, ``' '`` if all
|
|
|
- modules were unloaded normally.
|
|
|
-
|
|
|
- 5) ``M`` if any processor has reported a Machine Check Exception,
|
|
|
- ``' '`` if no Machine Check Exceptions have occurred.
|
|
|
-
|
|
|
- 6) ``B`` if a page-release function has found a bad page reference or
|
|
|
- some unexpected page flags.
|
|
|
-
|
|
|
- 7) ``U`` if a user or user application specifically requested that the
|
|
|
- Tainted flag be set, ``' '`` otherwise.
|
|
|
-
|
|
|
- 8) ``D`` if the kernel has died recently, i.e. there was an OOPS or BUG.
|
|
|
-
|
|
|
- 9) ``A`` if the ACPI table has been overridden.
|
|
|
-
|
|
|
- 10) ``W`` if a warning has previously been issued by the kernel.
|
|
|
- (Though some warnings may set more specific taint flags.)
|
|
|
-
|
|
|
- 11) ``C`` if a staging driver has been loaded.
|
|
|
-
|
|
|
- 12) ``I`` if the kernel is working around a severe bug in the platform
|
|
|
- firmware (BIOS or similar).
|
|
|
-
|
|
|
- 13) ``O`` if an externally-built ("out-of-tree") module has been loaded.
|
|
|
-
|
|
|
- 14) ``E`` if an unsigned module has been loaded in a kernel supporting
|
|
|
- module signature.
|
|
|
-
|
|
|
- 15) ``L`` if a soft lockup has previously occurred on the system.
|
|
|
-
|
|
|
- 16) ``K`` if the kernel has been live patched.
|
|
|
-
|
|
|
-The primary reason for the **'Tainted: '** string is to tell kernel
|
|
|
-debuggers if this is a clean kernel or if anything unusual has
|
|
|
-occurred. Tainting is permanent: even if an offending module is
|
|
|
-unloaded, the tainted value remains to indicate that the kernel is not
|
|
|
-trustworthy.
|