首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Linux中的OE+是什么?

Linux中的OE+是什么?
EN

Stack Overflow用户
提问于 2016-09-11 12:10:27
回答 1查看 2.4K关注 0票数 8

(OE+) 在下面是什么意思?

代码语言:javascript
运行
复制
$ sudo cat /proc/modules | grep hello //hello_world is a kernel module created by me.
hello_world 20480 1 - Loading 0xffffffffc0221000 (OE+)

这是我的情况。

我修补了Linux内核函数load_module(),它是从finit_module()调用的,insmod用来插入内核模块的系统调用。该修补程序查找正在安装的由我(称为hello_world)创建的特定模块,当它安装时,它将阻止对do_init_module()的调用,并返回0。do_init_call()负责调用模块的init函数,并将模块状态设置为live (MODULE_STATE_LIVE)。

当我阅读/proc/modules时,模块状态是Loading,这是预期的。但是,我不理解输出末尾的(OE+)的含义。这不会显示在任何其他模块上,下面的命令验证了这一点。

代码语言:javascript
运行
复制
$ sudo cat /proc/modules | grep OE
hello_world 20480 1 - Loading 0xffffffffc0221000 (OE+)

我使用的是Linux内核v4.7.3

更新

所有这些都发生在Qemu虚拟机中。在运行Linux 4.4.0-36-generic (Ubuntu)的主机上,我得到以下信息。

代码语言:javascript
运行
复制
$ sudo cat /proc/modules | grep OE
vboxpci 24576 0 - Live 0xffffffffc082a000 (OE)
vboxnetadp 28672 0 - Live 0xffffffffc066e000 (OE)
vboxnetflt 28672 0 - Live 0xffffffffc0635000 (OE)
vboxdrv 454656 3 vboxpci,vboxnetadp,vboxnetflt, Live 0xffffffffc0783000 (OE)
sep4_0 671744 0 - Live 0xffffffffc06de000 (OE)
socperf2_0 36864 1 sep4_0, Live 0xffffffffc0660000 (OE)
pax 16384 0 - Live 0xffffffffc05f9000 (OE)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-12 00:42:31

O意味着树外模块已经加载.

E意味着已经加载了无符号模块。

+意味着正在加载模块。

-意味着正在卸载模块。

模块()旗帜()污点()函数的源代码可能有助于理解这些标志和其他标志的含义。请看一下print_tainted()函数上面的注释。希望这能有所帮助。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39435927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档