引入背景
热补丁是一种在程序运行时动态修复内存中代码 bug 的技术,其可以有效地避免由于软件升级所导致的业务中断的情况。由于包含对寄存器以及内存的复杂操作以及编译参数所带来的差异,因此给用户态软件打热补丁就更加困难和复杂了。
当前云计算中心多采用QEMU作为虚拟化的基础软件,而C语言编写的QEMU当前屡屡出现CVE漏洞。这种情况下,云计算的用户肯定是希望在业务不中断的情况下,对QEMU所起的虚拟机中出现的CVE漏洞进行打补丁操作。
引入理由
当前openEuler社区没有给用户态软件,尤其是类似于QEMU这一种超大规模软件,做动态热补丁的相关工具,因此对于云计算虚拟化用户的动态热补丁需求难以满足。
libcare作为开源的用户态热补丁软件,热补丁覆盖面较广,支持x86下的修改以及新增函数补丁,tls变量补丁以及qemu所用的协程补丁。并且其源代码完全公开,可以在其基础上做维护,进一步推出支持arm平台的动态热补丁,以及扩展支持其他语言,例如rust所编写的用户态软件打动态热补丁需求。
upstream来源
libcare的源代码完全公开,社区上游链接:
https://github.com/cloudlinux/libcare
License
采用GPL-2.0 License开源协议。
Release计划
截至目前为止,libcare发布了3个release版本,最近的release版本是在2017年12月25号发布的libcare-0.1.2。
长期维护
Virtualization Sig通过调研与研究,目前已经具备了长期维护libcare的能力,可以支持将libcare引入到该Sig。
Hey lijiajie128, Welcome to openEuler Community.
All of the projects in openEuler Community are maintained by @openeuler-ci-bot.
That means the developers can comment below every pull request or issue to trigger Bot Commands.
Please follow instructions at https://gitee.com/openeuler/community/blob/master/en/sig-infrastructure/command.md to find the details.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
typo in 热补丁覆盖main较广
登录 后才可以发表评论