【问题标题】:How do I programmatically taint the Linux kernel?如何以编程方式污染 Linux 内核?
【发布时间】:2021-09-24 17:56:56
【问题描述】:

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

【问题讨论】:

  • 你也应该能够编译你自己的一个简单的模块,除了 MODULE_LICENSE 丢失或不兼容 GPL 之外什么都不做。内核会认为它是“专有的”并污染自己。您不必出去寻找真正专有的模块。

标签: linux root


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-17
    • 2012-12-21
    • 1970-01-01
    • 2015-06-01
    相关资源
    最近更新 更多