When looking at the syslog (dmesg), I get several of:

<module name>: module has bad taint, not creating trace events

What does this mean ?


This warning appears if kernel function trace_module_has_bad_taint() returns true; namely any of the following taint flags have been set:

  • TAINT_FORCED_MODULE (module loading has been forced)
  • TAINT_CPU_OUT_OF_SPEC (CPU is behaving in a way that may cause tracing issues?)
  • TAINT_FORCED_RMMOD (module has been forced removed)
  • TAINT_MACHINE_CHECK (Machine Check exception, possibly making lock dep unreliable)
  • TAINT_BAD_PAGE (a bad page of memory has been detected)
  • TAINT_USER (userspace has been fiddling around with the system that may cause kernel issues)
  • TAINT_DIE (kernel is in a dying oops phase)
  • TAINT_OVERRIDDEN_ACPI_TABLE (user has overridden the default ACPI tables)
  • TAINT_WARN (scheduler bug detected)
  • TAINT_FIRMWARE_WORKAROUND (BIOS firmware has had a workaround to make things work)
  • TAINT_SOFTLOCKUP (watchdog timer has detected a soft lockup)
  • TAINT_LIVEPATCH (kernel has been live patched)

The warning occurs when a kernel module is loaded and the kernel tracepoint driver is notified of this and detects one of the above tainting reasons and skips trace-pointing it to try to avoid crashing the kernel.

Modules that are just tainted as staging drivers, out-of-tree drivers and unsigned GPL modules are allowed, all other taints are not allowed.

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.