kprobe探测中使用offset存在兼容性问题
2012-11-23 10:48
316 查看
kprobe通过插入内核模块来做探测内核的工作。
使用offset成员,可以来指定从symbol指定的函数开始,距离该函数offset的位置的指令。
在kprobe的文档里有这么一句话:
Use the "offset" field of struct kprobe if the offset into the symbol to install a probepoint is known. This field is used to calculate the probepoint.
这里就存在一个问题。。兼容性。不同版本的内核,探测同一条指令时所需要的offset 是不一样的。
所以说如果使用kprobe来做内核探测,使用了offset之后,基本上只能在本系统中用。
把相同的代码(即不改变offset的情况)放到另外一个内核版本的系统中运行,插入模块时报错。
insmod:error inserting 'kprobe_switch_1.ko' : -1 Invalid or incomplete multibyte or wide character
使用offset成员,可以来指定从symbol指定的函数开始,距离该函数offset的位置的指令。
在kprobe的文档里有这么一句话:
Use the "offset" field of struct kprobe if the offset into the symbol to install a probepoint is known. This field is used to calculate the probepoint.
这里就存在一个问题。。兼容性。不同版本的内核,探测同一条指令时所需要的offset 是不一样的。
所以说如果使用kprobe来做内核探测,使用了offset之后,基本上只能在本系统中用。
把相同的代码(即不改变offset的情况)放到另外一个内核版本的系统中运行,插入模块时报错。
insmod:error inserting 'kprobe_switch_1.ko' : -1 Invalid or incomplete multibyte or wide character
相关文章推荐
- 关于"Excel._Worksheet和DocEvents_Event之间存在二义性.将使用方法组"的问题
- 使用CocoaPods 将ShareSDK2 替换到ShareSDK3解决问题备注。not Found ** 问题可能存在的原因。
- hadoop 使用eclipse plugin运行存在权限读写问题
- A2的总结:win7和xp的环境不一致导致现在xp使用1.18的版本,而a2使用1.31的版本,存在的有以下的问题
- 使用 JDBC 连接不同版本 DB2 数据库的兼容性问题
- 使用高版本的SDK后再导入以前用低版本的project时,会遇到一些兼容性的问题。
- 使用JQchart 所遇到的兼容性问题
- 使用System.out.print/prilntln() 输出时存在的问题
- SSH框架中使用Ajax向后台发送参数,存在乱码的问题。
- javascript--面向对象(三)原型对象存在的问题及组合组合使用原型和构造函数
- 使用xfire client调用ws时存在的无限等待问题。
- 使用TWebBrowser时存在内存泄漏问题的解决方案(使用SetProcessWorkingSetSize函数,或者修改OleCtrls.pas源码解决问题)
- Serializable兼容性问题及serialVersionUID的使用
- 使用原生jdbc查询数据库时存在的问题及对策
- 兼容性问题BX1049: 各浏览器通过 window.resizeTo() 方法最终得到的页面可视区域大小存在差异
- 一周stackoverflow热门问题选登:使用过时的C编译器存在安全隐患吗?
- 关于分页 使用pageNum还是offset的问题
- 整理浏览器对网页的兼容性问题-DOM事件(event)的使用
- fstream的使用和打开时存在中文中文路径可能失败的问题,其他中文问题都可以尝试采用如下方法
- 使用Properties对象的getProperty() 取值存在的问题