我如何以编程方式污染 Linux 内核?

How do I programmatically taint the Linux kernel?

是否可以通过编程方式污染 运行 Linux 内核?我希望能够使用受污染的内核进行测试,而无需重新编译使其受污染或寻找专有的内核模块来加载。

root 用户可以污染内核 by writing a taint value to /proc/sys/kernel/tainted。污点标志只能以这种方式设置(不能删除):无法清除 运行 内核的污点。当写一个值来表明用户空间做了一些奇怪的事情时,你应该使用 TAINT_USER (它的值为 32)。例如(如root):

# cat /proc/sys/kernel/tainted
64
# echo 32 > /proc/sys/kernel/tainted
# cat /proc/sys/kernel/tainted
96