Every out-of-tree module taints the kernel. That’s normal.
There might be other reasons for tainting though.
Read here: https://www.kernel.org/doc/html/latest/admin-guide/tainted-kernels.html
You can try to decode the number yourself. That’s easy if there was only one reason that got your kernel tainted, as in this case you can find the number with the table below. If there were multiple reasons you need to decode the number, as it is a bitfield, where each bit indicates the absence or presence of a particular type of taint. It’s best to leave that to the aforementioned script, but if you need something quick you can use this shell command to check which bits are set:
$ for i in $(seq 18); do echo $(($i-1)) $(($(cat /proc/sys/kernel/tainted)>>($i-1)&1));done
0 1
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 0
10 0
11 0
12 1 <<<<
13 1 <<<<
14 0
15 0
16 0
17 0
`
12 | _/O | 4096 | externally-built (“out-of-tree”) module was loaded |
---|---|---|---|
13 | _/E | 8192 | unsigned module was loaded |
`
12 - O if an externally-built (“out-of-tree”) module has been loaded.
13 - E if an unsigned module has been loaded in a kernel supporting module signature.
This is explained in the link I posted
In your case, it doesn’t really matter IMO, it’s out of tree and unsigned and thus tainted.
I leave it as it is, since these errors are from the stable mainline kernel and not from hardened ?