我正在我的系统上实现临时补丁程序(非持久性),如下所述(同时等待官方发行版内核):
为了在我的系统上测试这个bug的解决方案,我已经在写脚本上测试了一个肮脏的副本,但是请注意,我得到了一个语义错误,并且这个bug在我的系统上仍然是活动的:
SuperUser Shell ~/> # stap -g -p 4 fix.stp
semantic error: while resolving probe point: identifier 'syscall' at fix.stp:5:7
source: probe syscall.ptrace { // includes compat ptrace as well
^
semantic error: no match
Pass 2: analysis failed. [man error::pass2]
SuperUser Shell ~/>用颜色(如果这是你喜欢的话):

阅读本文:
我看到一个简短的解释:
foo语义错误:不匹配探测点,同时解析探测点 由于各种原因,事件/处理程序函数foo无法完全解决。当脚本包含事件kernel.function(" blah ")而blah不存在时,会发生此错误。在某些情况下,错误也可能意味着脚本包含无效的内核文件名或源行号。
问题:
syscall内核函数是不被识别的,对吗?谢谢你的帮助
PS:对不起,如果这看起来有点像脚本,幼稚的-什(我还没有完全理解这个热点修复)。
发布于 2016-10-22 18:26:39
是的,我已经在CentOS 7上成功地实现了这个临时缓解。
正如在bugzilla条目上的一个评论中所描述的那样,您需要安装内核的系统龙头和调试器,这样才能使这种缓解措施发挥作用。
发出的命令如下:
yum install systemtap yum-utils
debuginfo-install kernel-$(uname -r)根据您发布的内容,您可能已经有了系统访问,但是您所得到的错误表明您需要调试器包。上面的第二个命令应该安装正确的东西;您也可以从http://debuginfo.centos.org/手工获得RPM(这就是我最后所做的)
顺便说一句,这种使用系统挖掘的缓解措施并不是真正的修复,它只是让概念程序失败的证据之一。这是值得一做的,但不能取代一个真正的补丁内核。
我不明白为什么Red和CentOS还没有推出修补好的内核包,Ubuntu和其他人几天前就发布了他们的更新。什么耽搁了?
https://stackoverflow.com/questions/40193512
复制相似问题