什么是“内核污染"?意思是? [英] What does "kernel tainted" mean?

查看:20
本文介绍了什么是“内核污染"?意思是?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的操作系统是 Fedora 17.最近,出现内核污染警告kernel bug at kernel/auditsc.c:1772!-abrt":不应报告此问题(这很可能是已知问题).发生内核问题,但您的内核已被污染 (flags:GD).内核维护人员无法诊断受污染的报告.

My OS is Fedora 17. Recently, kernel tainted warning "kernel bug at kernel/auditsc.c:1772!-abrt" occurs: This problem should not be reported (it is likely a known problem). A kernel problem occurred, but your kernel has been tainted (flags:GD). Kernel maintainers are unable to diagnose tainted reports.

然后,我得到以下信息:

Then, I get the following:

# cat /proc/sys/kernel/tainted
128

# dmesg | grep -i taint
[ 8306.955523] Pid: 4511, comm: chrome Tainted: G      D      3.9.10-100.fc17.i686.PAE #1 Dell Inc. 
[ 8307.366310] Pid: 4571, comm: chrome Tainted: G      D      3.9.10-100.fc17.i686.PAE #1 Dell Inc. 

似乎值128"严重得多:128 – 系统已死.

It seems that the value "128" is much serious: 128 – The system has died.

这个警告怎么样?既然 chrome 被标记为Tainted"源,那么有人也遇到过这个问题吗?

How about this warning? Since chrome is flagged as the "Tainted" source, anybody also meet this matter?

推荐答案

为了(过度)简化,污染"意味着内核处于一种状态,如果它是从开源中全新构建出来的起源并以预期的方式使用.这是一种标记内核的方式,以警告人们(例如,开发人员)可能有未知原因导致内核不可靠,并且调试可能很困难或不可能.

To (over) simplify, 'tainted' means that the kernel is in a state other than what it would be in if it were built fresh from the open source origin and used in a way that it had been intended. It is a way of flagging a kernel to warn people (e.g., developers) that there may be unknown reasons for it to be unreliable, and that debugging it may be difficult or impossible.

在这种情况下,GD"意味着所有模块都获得了 GPL 许可或兼容(即非专有),并且发生了崩溃或 BUG().

In this case, 'GD' means that all modules are licensed as GPL or compatible (ie not proprietary), and that a crash or BUG() occurred.

原因如下:

参见:oops-tracing.txt

---------------------------------------------------------------------------
Tainted kernels:

Some oops reports contain the string 'Tainted: ' after the program
counter. This indicates that the kernel has been tainted by some
mechanism.  The string is followed by a series of position-sensitive
characters, each representing a particular tainted value.

  1: 'G' if all modules loaded have a GPL or compatible license, 'P' if
     any proprietary module has been loaded.  Modules without a
     MODULE_LICENSE or with a MODULE_LICENSE that is not recognised by
     insmod as GPL compatible are assumed to be proprietary.

  2: 'F' if any module was force loaded by "insmod -f", ' ' if all
     modules were loaded normally.

  3: 'S' if the oops occurred on an SMP kernel running on hardware that
     hasn't been certified as safe to run multiprocessor.
     Currently this occurs only on various Athlons that are not
     SMP capable.

  4: 'R' if a module was force unloaded by "rmmod -f", ' ' if all
     modules were unloaded normally.

  5: 'M' if any processor has reported a Machine Check Exception,
     ' ' if no Machine Check Exceptions have occurred.

  6: 'B' if a page-release function has found a bad page reference or
     some unexpected page flags.

  7: 'U' if a user or user application specifically requested that the
     Tainted flag be set, ' ' otherwise.

  8: 'D' if the kernel has died recently, i.e. there was an OOPS or BUG.

  9: 'A' if the ACPI table has been overridden.

 10: 'W' if a warning has previously been issued by the kernel.
     (Though some warnings may set more specific taint flags.)

 11: 'C' if a staging driver has been loaded.

 12: 'I' if the kernel is working around a severe bug in the platform
     firmware (BIOS or similar).

 13: 'O' if an externally-built ("out-of-tree") module has been loaded.

 14: 'E' if an unsigned module has been loaded in a kernel supporting
     module signature.

 15: 'L' if a soft lockup has previously occurred on the system.

 16: 'K' if the kernel has been live patched.

The primary reason for the 'Tainted: ' string is to tell kernel
debuggers if this is a clean kernel or if anything unusual has
occurred.  Tainting is permanent: even if an offending module is
unloaded, the tainted value remains to indicate that the kernel is not
trustworthy.

这篇关于什么是“内核污染"?意思是?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆