繁体   English   中英

Linux Kernel OOPS可以由用户进程引起吗?

[英]Can Linux Kernel OOPS be cause by user process?

在我的开发环境中,我遇到了内核问题。 有人建议我的守护进程之一正在做一个内核oop。

这对我来说很有趣。 根据定义( http://en.wikipedia.org/wiki/Linux_kernel_oops ):

   "oops is a deviation from correct behavior of the Linux kernel - one which produces a certain error log "

因此,异常将出现在内核代码中。 我做了更多搜索,但找不到确切答案。

有人可以澄清一下,是否可以由任何用户进程进行内核oops吗?

PS:我知道内核代码正在某些用户进程上下文中执行(在上下文切换之后),但是在上下文切换之后,它正在执行的内核代码而不是用户进程代码。

它们可以触发内核。 从理论上讲,这是不可能的,因为用户空间进程不应该崩溃或迫使内核进入导致内核崩溃的代码路径。

但是,内核中可能存在一些错误,这些错误使用户空间进程能够触发oops。 例如,如果您的进程导致内核出错,则说明内核中存在错误,或者您的进程正在使内核与故障硬件交互

仅当用户执行系统调用或存在硬件/软件中断时,才能在内核中运行任何代码。

因此,内核oops将通过用户进程发生

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM