What causes the following error and how could I fix it?:
A kernel problem occurred,
but this kernel has been corrupted (indication: GW).
Explanation:
W - Taint on warning.
Kernel maintainers cannot diagnose reports of broken kernels.
What causes the following error and how could I fix it?:
A kernel problem occurred,
but this kernel has been corrupted (indication: GW).
Explanation:
W - Taint on warning.
Kernel maintainers cannot diagnose reports of broken kernels.
Are you using the rpmfusion nvidia drivers?
If so you can ignore the warning.
If not what extra driver have you installed?
It just means that you have installed extra kernel modules, for example the nvidia modules or Oracle Virtualbox, or similar. That is normal and does not mean that the kernel is corrupted.
In addition, you can decode the output of
cat /proc/sys/kernel/tainted
and find out why your kernel is tainted.
There is two ways to decode the numbers, A and B:
A
for i in $(seq 18); do echo $(($i-1)) $(($(cat /proc/sys/kernel/tainted)>>($i-1)&1));done
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 0
10 0
11 1
12 1
13 1
14 0
15 0
16 0
17 0
1
in the table given in Tainted kernels — The Linux Kernel documentationB
sh
to run the script provided in https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/plain/tools/debugging/kernel-chktaintOutput of sh ~/bin/kernel-chktaint
on my system looks like this:
Kernel is "tainted" for the following reasons:
* workaround for bug in platform firmware applied (#11)
* externally-built ('out-of-tree') module was loaded (#12)
* unsigned module was loaded (#13)
For a more detailed explanation of the various taint flags see
Documentation/admin-guide/tainted-kernels.rst in the Linux kernel sources
or https://kernel.org/doc/html/latest/admin-guide/tainted-kernels.html
Raw taint value as int/string: 14336/'G IOE '
In your case:
G means: G if all modules loaded have a GPL or compatible license
W means: W if a warning has previously been issued by the kernel. (Though some warnings may set more specific taint flags.)
You can use dmesg
or journalctl -k
to find out more about the warnings, but it’s also common to ignore warnings (they are not errors).