This question already has an answer here:

I ran lsmod command on an emulator for a board, and the output is Not tainted . What does that mean ?

marked as duplicate by Gilles, jasonwryan, slm, Hauke Laging, vonbrand Mar 5 '14 at 1:49

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.


A running instance of the Linux kernel becomes “tainted” when something dodgy happens. The kernel boots in non-tainted state, and becomes tainted if one such dodgy thing happens. The full list of dodgy events is documented in sysctl/kernel.txt, and the kernel's current taint state can be read from /proc/sys/kernel/tainted (0 means not tainted).

The most common reason for tainting is loaded a module which declares a license other than GPL. All official kernel modules have a GPL license. Unofficial or experimental drivers that declare themselves as such also mark the kernel as tainted. Some internal kernel errors or hardware errors are recoverable, so the system keeps going, but mark the kernel as tainted.

The taint has no effect on the running kernel, but shows up in various traces and logs, including the output of lsmod. The social effect of taint is that kernel maintainers often won't help you if you're running a tainted kernel: you chose to do something dodgy and you have to live with the consequences.


Tainted is a kernel flag in the proc file system

$ /proc/sys/kernel/tainted

A value not null means normally that in case of an error or failure you should not blame kernel developers for this error or post some error reports to the kernel mailing list.

See also: meaning

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