Kernel Symbols Versioning The kernel's internal functions are constantly changing. From one version to another, new parameters may be added, function names may be changed, etc. If a module was compiled for one kernel version, and is being loaded into running kernel of a different version, the symbols used by the module might be invalid, or functions invoked with invalid arguments, resulting unexpected behaviour (e.g. kernel panic, system crash, etc). To avoid this, all the kernel's exported symbols contain CRC values. These CRC values are computed when the kernel is compiled.